From 29bbc5ee51298b5318aad349bd25e219b91e482d Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Tue, 20 Oct 2026 15:55:52 -0700 Subject: [PATCH 1/6] feat(swift-interop): generation units across Swift modules Several Swift modules can now be generated as one unit (ABI 8), via --swift-unit with a --swift-symbolgraph-dir per module. The unit is merged into one IR. Every symbol keeps its own module, so declarations can name another module's types, and extensions of those types become their members. A unit has one thunk file, with shared support code and one type table, and one `.d.ts` per module that imports the others' types. At runtime, each ns_swift_register_ symbol registers the whole unit, and every module maps to it. Each isolate builds the unit's templates once and gives every module its own ns:swift/ namespace, so a type has one JS class wherever it appears. Types and members register with their module. Module-level overloads group per module. A module that is an implementation detail of another (SwiftUICore of SwiftUI) can't be imported. With --swift-reexport, which is implied for that pair, its declarations join the module that re-exports it. As a unit, SwiftUI and SwiftUICore verify and type-check with 2547 callables, against 873 for SwiftUI alone. The fixture gains a SwiftDemoKit module, which SwiftDemo uses and extends. It is built as its own static library target for TestRunner. --- NativeScript/runtime/SwiftInterop.h | 30 +- NativeScript/runtime/SwiftInterop.mm | 147 ++- TestFixtures/exported-symbols.txt | 1 + TestRunner/app/tests/SwiftInteropTests.js | 34 +- docs/swift-interop.md | 16 + .../Interop/SwiftDemo+NativeScript.swift | 953 +++++++++++------- .../TestFixtures/SwiftDemo/Package.swift | 5 +- .../SwiftDemo/Sources/SwiftDemo/Purse.swift | 24 + .../Sources/SwiftDemoKit/Money.swift | 34 + .../SwiftDemo/generate-symbolgraphs.sh | 12 + .../symbolgraphs/SwiftDemo.symbols.json | 2 +- .../SwiftDemo@SwiftDemoKit.symbols.json | 1 + .../symbolgraphs/SwiftDemoKit.symbols.json | 1 + metadata-generator/src/Swift/ProbeEmitter.cpp | 1 - metadata-generator/src/Swift/SwiftIR.cpp | 4 + metadata-generator/src/Swift/SwiftIR.h | 9 + metadata-generator/src/Swift/SwiftSource.cpp | 15 +- metadata-generator/src/Swift/SwiftSource.h | 2 +- metadata-generator/src/Swift/SwiftSurface.cpp | 7 +- metadata-generator/src/Swift/SwiftSurface.h | 4 + .../src/Swift/SymbolGraphLoader.cpp | 100 +- .../src/Swift/SymbolGraphLoader.h | 13 + metadata-generator/src/Swift/ThunkEmitter.cpp | 108 +- metadata-generator/src/Swift/ThunkEmitter.h | 7 +- .../src/TypeScript/SwiftDefinitionWriter.cpp | 58 +- .../src/TypeScript/SwiftDefinitionWriter.h | 16 +- metadata-generator/src/main.cpp | 49 +- .../tests/swift/SwiftToolchain.h | 19 +- .../tests/swift/SymbolGraphLoaderTests.cpp | 24 +- metadata-generator/tests/swift/TestSupport.h | 9 +- .../tests/swift/ThunkEmitterTests.cpp | 19 +- .../swift/snapshots/SwiftDemo.coverage.json | 218 +++- .../tests/swift/snapshots/SwiftDemo.ir.json | 487 ++++++++- .../swift/snapshots/SwiftDemo.probe.swift | 427 +++++--- .../swift/snapshots/swift!SwiftDemo.d.ts | 3 + .../swift/snapshots/swift!SwiftDemoKit.d.ts | 37 + v8ios.xcodeproj/project.pbxproj | 91 ++ 37 files changed, 2228 insertions(+), 759 deletions(-) create mode 100644 metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Purse.swift create mode 100644 metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemoKit/Money.swift create mode 100644 metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo@SwiftDemoKit.symbols.json create mode 100644 metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemoKit.symbols.json create mode 100644 metadata-generator/tests/swift/snapshots/swift!SwiftDemoKit.d.ts diff --git a/NativeScript/runtime/SwiftInterop.h b/NativeScript/runtime/SwiftInterop.h index a53d994c..725c8475 100644 --- a/NativeScript/runtime/SwiftInterop.h +++ b/NativeScript/runtime/SwiftInterop.h @@ -18,9 +18,12 @@ // Any change to a layout, an API table slot, a tag, a kind or a signature // code requires bumping NS_SWIFT_ABI_VERSION in both places. // -// A Swift module `M` exposes one C symbol, `ns_swift_register_M`, taking an -// NSSwiftRegistrar*. It registers the module, its types and its members with -// the API table's register* entries. Each member carries a thunk: +// Thunks are generated per unit: one or more Swift modules whose declarations +// may name and extend each other's types. Every module `M` of a unit exposes +// a C symbol, `ns_swift_register_M`, taking an NSSwiftRegistrar*; each +// registers the whole unit (its modules, types and members) with the API +// table's register* entries. Types and members name the module whose +// `ns:swift/` namespace exposes them. Each member carries a thunk: // // void thunk(NSSwiftCall* call, const NSSwiftValue* args, intptr_t count) // @@ -37,7 +40,7 @@ // calls it by reporting the arguments as an array: callbackBegin, each // argument through the complete* entries, then completeArrayEnd. -#define NS_SWIFT_ABI_VERSION 7 +#define NS_SWIFT_ABI_VERSION 8 #ifdef __cplusplus extern "C" { @@ -185,20 +188,23 @@ struct NSSwiftAPI { intptr_t typeLength); /* 9 */ void (*throwTypeError)(NSSwiftCall* call, const uint8_t* message, intptr_t length); + // `name` names the unit. /* 10 */ void (*registerModule)(NSSwiftRegistrar* registrar, uint32_t abiVersion, const char* name, const char* fingerprint, NSSwiftRelease release); // `superIndex` is the type index of a registered superclass, or -1. /* 11 */ void (*registerType)(NSSwiftRegistrar* registrar, uint32_t index, - uint32_t kind, const char* jsName, - const char* swiftName, int32_t superIndex); - // `owner` is a type index, or -1 for module-level functions and variables. + uint32_t kind, const char* module, + const char* jsName, const char* swiftName, + int32_t superIndex); + // `owner` is a type index, or -1 for module-level functions and + // variables; a member of a type belongs to the type's module. /* 12 */ void (*registerMember)(NSSwiftRegistrar* registrar, int32_t owner, uint32_t kind, uint32_t flags, - const char* jsName, const char* swiftName, - const char* signature, NSSwiftThunk thunk, - NSSwiftThunk setter); + const char* module, const char* jsName, + const char* swiftName, const char* signature, + NSSwiftThunk thunk, NSSwiftThunk setter); // Async calls. beginAsync makes the call's JS result a Promise and returns // a token; exactly one complete* entry settles it. Those may be called from @@ -256,6 +262,10 @@ struct NSSwiftAPI { // An Objective-C object, retained (+1); the runtime takes ownership. /* 40 */ void (*returnObjC)(NSSwiftCall* call, void* object); /* 41 */ void (*completeObjC)(void* token, void* object); + + // A Swift module of the unit, registered before its types and members. + /* 42 */ void (*registerUnitModule)(NSSwiftRegistrar* registrar, + const char* name); }; typedef void (*NSSwiftRegisterFunction)(NSSwiftRegistrar* registrar); diff --git a/NativeScript/runtime/SwiftInterop.mm b/NativeScript/runtime/SwiftInterop.mm index c71dba38..2c42c388 100644 --- a/NativeScript/runtime/SwiftInterop.mm +++ b/NativeScript/runtime/SwiftInterop.mm @@ -253,6 +253,7 @@ bool ParseSignature(const std::string& text, Signature& signature) { struct MemberInfo { int owner = -1; + std::string swiftModule; uint32_t kind = 0; uint32_t flags = 0; std::string jsName; @@ -268,6 +269,8 @@ bool ParseSignature(const std::string& text, Signature& signature) { struct MemberGroup { const ModuleInfo* module = nullptr; int owner = -1; + // Module-level groups: the Swift module whose namespace holds them. + std::string swiftModule; uint32_t kind = 0; std::string jsName; std::vector overloads; @@ -283,6 +286,7 @@ bool ParseSignature(const std::string& text, Signature& signature) { struct TypeInfo { uint32_t index = 0; uint32_t kind = 0; + std::string swiftModule; std::string jsName; std::string swiftName; int superIndex = -1; @@ -295,8 +299,12 @@ bool ParseSignature(const std::string& text, Signature& signature) { bool IsEnumKind(uint32_t kind) { return kind == NSSwiftTypeEnum || kind == NSSwiftTypeTaggedEnum; } +// A registered unit: one or more Swift modules sharing one type table. struct ModuleInfo { + // The unit's name. std::string name; + // Its Swift modules, each an `ns:swift/` namespace. + std::vector modules; std::string fingerprint; uint32_t abiVersion = 0; NSSwiftRelease release = nullptr; @@ -399,15 +407,22 @@ void ApiRegisterModule(NSSwiftRegistrar* registrar, uint32_t abiVersion, const c const char* fingerprint, NSSwiftRelease release) { ModuleInfo* module = static_cast(registrar)->module; module->abiVersion = abiVersion; - if (name != nullptr && module->name != name) { - module->error = "registers as '" + std::string(name) + "'"; - } + module->name = name ? name : ""; module->fingerprint = fingerprint ? fingerprint : ""; module->release = release; } -void ApiRegisterType(NSSwiftRegistrar* registrar, uint32_t index, uint32_t kind, const char* jsName, - const char* swiftName, int32_t superIndex) { +void ApiRegisterUnitModule(NSSwiftRegistrar* registrar, const char* name) { + ModuleInfo* module = static_cast(registrar)->module; + if (name != nullptr && + std::find(module->modules.begin(), module->modules.end(), name) == module->modules.end()) { + module->modules.push_back(name); + } +} + +void ApiRegisterType(NSSwiftRegistrar* registrar, uint32_t index, uint32_t kind, + const char* swiftModule, const char* jsName, const char* swiftName, + int32_t superIndex) { ModuleInfo* module = static_cast(registrar)->module; if (index != module->types.size()) { module->error = "type indices are not dense"; @@ -416,6 +431,7 @@ void ApiRegisterType(NSSwiftRegistrar* registrar, uint32_t index, uint32_t kind, TypeInfo type; type.index = index; type.kind = kind; + type.swiftModule = swiftModule ? swiftModule : ""; type.jsName = jsName ? jsName : ""; type.swiftName = swiftName ? swiftName : ""; type.superIndex = superIndex; @@ -423,11 +439,12 @@ void ApiRegisterType(NSSwiftRegistrar* registrar, uint32_t index, uint32_t kind, } void ApiRegisterMember(NSSwiftRegistrar* registrar, int32_t owner, uint32_t kind, uint32_t flags, - const char* jsName, const char* swiftName, const char* signature, - NSSwiftThunk thunk, NSSwiftThunk setter) { + const char* swiftModule, const char* jsName, const char* swiftName, + const char* signature, NSSwiftThunk thunk, NSSwiftThunk setter) { ModuleInfo* module = static_cast(registrar)->module; MemberInfo member; member.owner = owner; + member.swiftModule = swiftModule ? swiftModule : ""; member.kind = kind; member.flags = flags; member.jsName = jsName ? jsName : ""; @@ -505,6 +522,7 @@ void ApiCompleteError(void* token, const uint8_t* message, intptr_t messageLengt void ApiWriteBackEnd(NSSwiftCall* call); void ApiReturnObjC(NSSwiftCall* call, void* object); void ApiCompleteObjC(void* token, void* object); +void ApiRegisterUnitModule(NSSwiftRegistrar* registrar, const char* name); const NSSwiftAPI kAPI = { ApiReturnVoid, ApiReturnBool, ApiReturnInt64, @@ -521,6 +539,7 @@ void ApiCompleteError(void* token, const uint8_t* message, intptr_t messageLengt ApiCallbackRelease, ApiReturnCaseBegin, ApiCompleteCaseBegin, ApiReturnArrayEnd, ApiCompleteContainerEnd, ApiWriteBackBegin, ApiWriteBackEnd, ApiReturnObjC, ApiCompleteObjC, + ApiRegisterUnitModule, }; // "Polygon.Style" -> "Style". @@ -546,8 +565,8 @@ bool IsValidModuleName(const std::string& name) { void BuildGroups(ModuleInfo& module) { robin_hood::unordered_map byKey; for (const MemberInfo& member : module.members) { - std::string key = - std::to_string(member.owner) + ":" + std::to_string(member.kind) + ":" + member.jsName; + std::string key = std::to_string(member.owner) + ":" + std::to_string(member.kind) + ":" + + member.jsName + (member.owner < 0 ? ":" + member.swiftModule : ""); auto it = byKey.find(key); MemberGroup* group; if (it == byKey.end()) { @@ -555,6 +574,7 @@ void BuildGroups(ModuleInfo& module) { group = module.groups.back().get(); group->module = &module; group->owner = member.owner; + group->swiftModule = member.owner < 0 ? member.swiftModule : ""; group->kind = member.kind; group->jsName = member.jsName; byKey.emplace(key, group); @@ -607,6 +627,19 @@ void BuildGroups(ModuleInfo& module) { if (module.release == nullptr) { return "registered no release function"; } + auto inUnit = [&](const std::string& name) { + return std::find(module.modules.begin(), module.modules.end(), name) != module.modules.end(); + }; + for (const TypeInfo& type : module.types) { + if (!inUnit(type.swiftModule)) { + return "type " + type.swiftName + " names an unregistered module"; + } + } + for (const MemberInfo& member : module.members) { + if (member.owner < 0 && !inUnit(member.swiftModule)) { + return member.swiftName + " names an unregistered module"; + } + } auto validType = [&](int index) { return index >= 0 && index < static_cast(module.types.size()); }; @@ -662,7 +695,6 @@ void BuildGroups(ModuleInfo& module) { } auto module = std::make_shared(); - module->name = name; std::string symbol = "ns_swift_register_" + name; auto registerFunction = reinterpret_cast(dlsym(RTLD_DEFAULT, symbol.c_str())); @@ -675,10 +707,23 @@ void BuildGroups(ModuleInfo& module) { registrar.module = module.get(); registerFunction(®istrar); std::string problem = Validate(*module); + if (problem.empty() && + std::find(module->modules.begin(), module->modules.end(), name) == module->modules.end()) { + problem = "registers a unit without it"; + } + for (const auto& other : module->modules) { + auto registered = gModules.find(other); + if (problem.empty() && other != name && registered != gModules.end()) { + problem = "shares module '" + other + "' with another unit"; + } + } if (!problem.empty()) { module->error = "Swift module '" + name + "' " + problem; } else { BuildGroups(*module); + for (const auto& other : module->modules) { + gModules.emplace(other, module); + } } } gModules.emplace(name, module); @@ -693,9 +738,11 @@ void BuildGroups(ModuleInfo& module) { class SwiftObjectWrapper; +// A unit as one isolate sees it. struct LoadedModule { std::shared_ptr info; - Global exports; + // Each Swift module's namespace. + robin_hood::unordered_map> exports; // Constructor templates by type index; empty for enums. std::vector> templates; }; @@ -707,12 +754,11 @@ void BuildGroups(ModuleInfo& module) { }; struct IsolateState { - robin_hood::unordered_map> modules; // Resolvers stay here, on the isolate's thread: a v8::Global must not be // destroyed by the thread that completes the call. robin_hood::unordered_map> pending; uint64_t nextAsyncId = 1; - robin_hood::unordered_map byInfo; + robin_hood::unordered_map> byInfo; // Swift object -> its JS wrapper, so a Swift object has one JS identity. robin_hood::unordered_map identity; // Thunk calls in progress on the isolate's thread, innermost last. @@ -1321,9 +1367,10 @@ bool OutcomeToJS(Isolate* isolate, Local context, IsolateState* state, void* object = node.object; // WrapSwiftObject takes over the retain. node.object = nullptr; - Local wrapper = WrapSwiftObject( - isolate, context, node.module, loaded == state->byInfo.end() ? nullptr : loaded->second, - state, object, node.typeIndex, nullptr); + Local wrapper = + WrapSwiftObject(isolate, context, node.module, + loaded == state->byInfo.end() ? nullptr : loaded->second.get(), state, + object, node.typeIndex, nullptr); if (wrapper.IsEmpty()) { return failed("returned an object JavaScript cannot wrap"); } @@ -2214,7 +2261,7 @@ bool Select(Isolate* isolate, Local context, const MemberGroup& group, return nullptr; } auto it = state->byInfo.find(module); - return it == state->byInfo.end() ? nullptr : it->second; + return it == state->byInfo.end() ? nullptr : it->second.get(); } // Calls `member`'s getter/call thunk (or its setter when `setter`) with @@ -2508,8 +2555,12 @@ void ConstructorCallback(const FunctionCallbackInfo& info) { Builder(Isolate* isolate, Local context, LoadedModule& loaded) : _isolate(isolate), _context(context), _loaded(loaded), _module(*loaded.info) {} - MaybeLocal Build() { - Local exports = Object::New(_isolate); + // Fills the unit's templates and every module's namespace. + bool Build() { + std::map> exports; + for (const auto& name : _module.modules) { + exports[name] = Object::New(_isolate); + } _loaded.templates.resize(_module.types.size()); std::vector> templates(_module.types.size()); @@ -2562,7 +2613,7 @@ void ConstructorCallback(const FunctionCallbackInfo& info) { } Local function; if (!templates[type.index]->GetFunction(_context).ToLocal(&function)) { - return MaybeLocal(); + return false; } _loaded.templates[type.index].Reset(_isolate, templates[type.index]); values[type.index] = function; @@ -2570,9 +2621,10 @@ void ConstructorCallback(const FunctionCallbackInfo& info) { // Nested types hang off their parent by JS path ("Polygon.Style"); a // parent that is not bridged gets a plain namespace object. + // Keyed by module and path: modules have their own namespaces. std::map> containers; for (const TypeInfo& type : _module.types) { - containers[type.jsName] = values[type.index]; + containers[type.swiftModule + ":" + type.jsName] = values[type.index]; } std::vector byDepth; for (const TypeInfo& type : _module.types) { @@ -2584,19 +2636,19 @@ void ConstructorCallback(const FunctionCallbackInfo& info) { }); std::vector> namespaces; for (const TypeInfo* type : byDepth) { - Local container = exports; - std::string path; + Local container = exports[type->swiftModule]; + std::string path = type->swiftModule + ":"; size_t start = 0; for (size_t dot = type->jsName.find('.'); dot != std::string::npos; dot = type->jsName.find('.', start)) { std::string component = type->jsName.substr(start, dot - start); - path += (path.empty() ? "" : ".") + component; + path += (path.back() == ':' ? "" : ".") + component; auto existing = containers.find(path); if (existing == containers.end()) { Local space = Object::New(_isolate); if (!container->Set(_context, tns::ToV8String(_isolate, component), space) .FromMaybe(false)) { - return MaybeLocal(); + return false; } existing = containers.emplace(path, space).first; namespaces.push_back(space); @@ -2608,18 +2660,18 @@ void ConstructorCallback(const FunctionCallbackInfo& info) { ->Set(_context, tns::ToV8String(_isolate, LastComponent(type->jsName)), values[type->index]) .FromMaybe(false)) { - return MaybeLocal(); + return false; } } for (const MemberGroup* group : enumGroups) { if (!InstallOnObject(enums[group->owner], *group)) { - return MaybeLocal(); + return false; } } for (const MemberGroup* group : moduleGroups) { - if (!InstallOnObject(exports, *group)) { - return MaybeLocal(); + if (!InstallOnObject(exports[group->swiftModule], *group)) { + return false; } } for (Local enumObject : enums) { @@ -2630,8 +2682,11 @@ void ConstructorCallback(const FunctionCallbackInfo& info) { for (Local space : namespaces) { space->SetIntegrityLevel(_context, IntegrityLevel::kFrozen).Check(); } - exports->SetIntegrityLevel(_context, IntegrityLevel::kFrozen).Check(); - return exports; + for (auto& entry : exports) { + entry.second->SetIntegrityLevel(_context, IntegrityLevel::kFrozen).Check(); + _loaded.exports[entry.first].Reset(_isolate, entry.second); + } + return true; } private: @@ -2774,7 +2829,8 @@ void ModuleInfoCallback(const FunctionCallbackInfo& info) { return; } Local result = Object::New(isolate); - result->Set(context, tns::ToV8String(isolate, "name"), tns::ToV8String(isolate, module->name)) + result->Set(context, tns::ToV8String(isolate, "name"), info[0]).Check(); + result->Set(context, tns::ToV8String(isolate, "unit"), tns::ToV8String(isolate, module->name)) .Check(); result ->Set(context, tns::ToV8String(isolate, "fingerprint"), @@ -2805,11 +2861,6 @@ void ModuleInfoCallback(const FunctionCallbackInfo& info) { if (state == nullptr) { return MaybeLocal(); } - auto cached = state->modules.find(name); - if (cached != state->modules.end()) { - return cached->second->exports.Get(isolate); - } - std::string error; std::shared_ptr module = LoadModuleInfo(name, error); if (!module) { @@ -2817,18 +2868,18 @@ void ModuleInfoCallback(const FunctionCallbackInfo& info) { return MaybeLocal(); } - auto loaded = std::make_unique(); - loaded->info = module; - LoadedModule* raw = loaded.get(); - state->byInfo[module.get()] = raw; - Local exports; - if (!Builder(isolate, context, *raw).Build().ToLocal(&exports)) { - state->byInfo.erase(module.get()); - return MaybeLocal(); + auto loaded = state->byInfo.find(module.get()); + if (loaded == state->byInfo.end()) { + auto unit = std::make_unique(); + unit->info = module; + LoadedModule* raw = unit.get(); + loaded = state->byInfo.emplace(module.get(), std::move(unit)).first; + if (!Builder(isolate, context, *raw).Build()) { + state->byInfo.erase(module.get()); + return MaybeLocal(); + } } - loaded->exports.Reset(isolate, exports); - state->modules.emplace(name, std::move(loaded)); - return exports; + return loaded->second->exports[name].Get(isolate); } MaybeLocal CreateBinding(Local context) { diff --git a/TestFixtures/exported-symbols.txt b/TestFixtures/exported-symbols.txt index 541b69ca..f47e5e58 100644 --- a/TestFixtures/exported-symbols.txt +++ b/TestFixtures/exported-symbols.txt @@ -222,3 +222,4 @@ __SCNVector4FromFloat4 __SCNMatrix4FromMat4 _getStructFromCallback _ns_swift_register_SwiftDemo +_ns_swift_register_SwiftDemoKit diff --git a/TestRunner/app/tests/SwiftInteropTests.js b/TestRunner/app/tests/SwiftInteropTests.js index 93c1508b..2e4cda75 100644 --- a/TestRunner/app/tests/SwiftInteropTests.js +++ b/TestRunner/app/tests/SwiftInteropTests.js @@ -9,7 +9,7 @@ describe("ns:swift", function () { it("exports a frozen loader", function () { expect(Object.isFrozen(swift)).toBe(true); expect(Object.keys(swift).sort()).toEqual(["abiVersion", "info", "module"]); - expect(swift.abiVersion).toBe(7); + expect(swift.abiVersion).toBe(8); }); it("returns one frozen namespace per module", function () { @@ -20,7 +20,7 @@ describe("ns:swift", function () { it("describes the linked module", function () { var info = swift.info("SwiftDemo"); expect(info.name).toBe("SwiftDemo"); - expect(info.abiVersion).toBe(7); + expect(info.abiVersion).toBe(8); expect(info.fingerprint).toMatch(/^[0-9a-f]{16}$/); expect(info.members).toBeGreaterThan(0); }); @@ -494,6 +494,36 @@ describe("ns:swift", function () { }); }); + describe("units", function () { + // SwiftDemo and SwiftDemoKit are generated as one unit. + var Kit = swift.module("SwiftDemoKit"); + + it("gives each module of a unit its own namespace", function () { + expect(Kit).not.toBe(SwiftDemo); + expect(typeof Kit.Money).toBe("function"); + expect(SwiftDemo.Money).toBeUndefined(); + expect(require("ns:swift/SwiftDemoKit")).toBe(Kit); + expect(swift.info("SwiftDemoKit").unit).toBe("SwiftDemo"); + }); + + it("passes another module's types", function () { + var wallet = SwiftDemo.starterWallet("ada"); + expect(wallet instanceof Kit.Wallet).toBe(true); + expect(wallet.balance.amount).toBe(5); + expect(SwiftDemo.flip("penny")).toBe("dime"); + var sum = SwiftDemo.sum([new Kit.Money(1, "EUR"), new Kit.Money(2, "EUR")]); + expect(sum instanceof Kit.Money).toBe(true); + expect(sum.amount).toBe(3); + expect(Kit.formatted(sum)).toBe("3 EUR"); + }); + + it("installs extensions on the extended type", function () { + expect(new Kit.Money(0, "EUR").isZero).toBe(true); + expect(new Kit.Money(4, "EUR").doubled().amount).toBe(8); + expect(SwiftDemo.starterWallet("ada").summary()).toBe("ada: 5 EUR"); + }); + }); + describe("Objective-C objects", function () { it("passes NativeScript's Objective-C wrappers", function () { var view = UIView.new(); diff --git a/docs/swift-interop.md b/docs/swift-interop.md index 0ff4bbe8..a2f3b3b6 100644 --- a/docs/swift-interop.md +++ b/docs/swift-interop.md @@ -46,6 +46,22 @@ the fixture sources together with the generated `Interop/` file, whose contents the generator tests keep identical to the generator's output. The fixture's `Package.swift` builds the same files as two SwiftPM modules. +## Generation units + +Modules generated together form a unit: `--swift-unit ` with one +`--swift-symbolgraph-dir` per module writes one `+NativeScript.swift` +and one `swift!.d.ts` per module. Within a unit, a module's +declarations can take and return another module's types, and its extensions +of those types become their members (`Money.doubled()` declared in SwiftDemo +on SwiftDemoKit's `Money`). Every module keeps its own `ns:swift/` +namespace; a type has one JS class wherever it appears. + +A module that is an implementation detail of another (SwiftUICore of +SwiftUI) cannot be imported, so its declarations join the module that +re-exports it: `--swift-reexport SwiftUICore=SwiftUI` (implied for that +pair). Generate everything an app uses as one unit: modules of different +units cannot share types. + ## Value model | Swift | JavaScript | diff --git a/metadata-generator/TestFixtures/SwiftDemo/Interop/SwiftDemo+NativeScript.swift b/metadata-generator/TestFixtures/SwiftDemo/Interop/SwiftDemo+NativeScript.swift index ea911c46..06158ec2 100644 --- a/metadata-generator/TestFixtures/SwiftDemo/Interop/SwiftDemo+NativeScript.swift +++ b/metadata-generator/TestFixtures/SwiftDemo/Interop/SwiftDemo+NativeScript.swift @@ -1,7 +1,8 @@ // Generated by objc-metadata-generator from the SwiftDemo symbol graphs. Do not edit. -// NativeScript Swift interop thunks, ABI 7: see NativeScript/runtime/SwiftInterop.h. +// NativeScript Swift interop thunks, ABI 8: see NativeScript/runtime/SwiftInterop.h. import Foundation import SwiftDemo +import SwiftDemoKit #if canImport(UIKit) import UIKit #endif @@ -314,8 +315,25 @@ private func __nsRelease(_ object: UnsafeMutableRawPointer) { Unmanaged.fromOpaque(object).release() } +// s:12SwiftDemoKit4CoinO +private func __nsEnum0(_ name: String) -> SwiftDemoKit.Coin? { + switch name { + case "penny": return SwiftDemoKit.Coin.`penny` + case "dime": return SwiftDemoKit.Coin.`dime` + default: return nil + } +} + +private func __nsEnumName0(_ value: SwiftDemoKit.Coin) -> String { + switch value { + case SwiftDemoKit.Coin.`penny`: return "penny" + case SwiftDemoKit.Coin.`dime`: return "dime" + @unknown default: return String(describing: value) + } +} + // s:9SwiftDemo10ShapeErrorO -private func __nsReadCase1(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.ShapeError? { +private func __nsReadCase4(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.ShapeError? { let (s, _) = slots.elements(i) switch s.int64(0) { case 0: @@ -331,7 +349,7 @@ private func __nsReadCase1(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.ShapeError } } -private func __nsReportCase1(_ r: R, _ value: SwiftDemo.ShapeError) { +private func __nsReportCase4(_ r: R, _ value: SwiftDemo.ShapeError) { switch value { case let SwiftDemo.ShapeError.`invalidSide`(p0): r.returnCase(0) { r.returnDouble(Double(p0)) } case let SwiftDemo.ShapeError.`tooManySides`(p0, p1): r.returnCase(1) { r.returnInt64(Int64(p0)); r.returnInt64(Int64(p1)) } @@ -341,7 +359,7 @@ private func __nsReportCase1(_ r: R, _ value: SwiftDemo.ShapeEr } // s:9SwiftDemo11MeasurementO -private func __nsReadCase2(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Measurement? { +private func __nsReadCase5(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Measurement? { let (s, _) = slots.elements(i) switch s.int64(0) { case 0: @@ -357,7 +375,7 @@ private func __nsReadCase2(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Measuremen } } -private func __nsReportCase2(_ r: R, _ value: SwiftDemo.Measurement) { +private func __nsReportCase5(_ r: R, _ value: SwiftDemo.Measurement) { switch value { case let SwiftDemo.Measurement.`area`(p0, p1): r.returnCase(0) { r.returnDouble(Double(p0)); r.returnDouble(Double(p1)) } case SwiftDemo.Measurement.`none`: r.returnCase(1) { } @@ -367,7 +385,7 @@ private func __nsReportCase2(_ r: R, _ value: SwiftDemo.Measure } // s:9SwiftDemo13PrecipitationO -private func __nsEnum4(_ name: String) -> SwiftDemo.Precipitation? { +private func __nsEnum7(_ name: String) -> SwiftDemo.Precipitation? { switch name { case "rain": return SwiftDemo.Precipitation.`rain` case "snow": return SwiftDemo.Precipitation.`snow` @@ -376,7 +394,7 @@ private func __nsEnum4(_ name: String) -> SwiftDemo.Precipitation? { } } -private func __nsEnumName4(_ value: SwiftDemo.Precipitation) -> String { +private func __nsEnumName7(_ value: SwiftDemo.Precipitation) -> String { switch value { case SwiftDemo.Precipitation.`rain`: return "rain" case SwiftDemo.Precipitation.`snow`: return "snow" @@ -386,7 +404,7 @@ private func __nsEnumName4(_ value: SwiftDemo.Precipitation) -> String { } // s:9SwiftDemo6FlavorO -private func __nsEnum9(_ name: String) -> SwiftDemo.Flavor? { +private func __nsEnum12(_ name: String) -> SwiftDemo.Flavor? { switch name { case "vanilla": return SwiftDemo.Flavor.`vanilla` case "chocolate": return SwiftDemo.Flavor.`chocolate` @@ -394,7 +412,7 @@ private func __nsEnum9(_ name: String) -> SwiftDemo.Flavor? { } } -private func __nsEnumName9(_ value: SwiftDemo.Flavor) -> String { +private func __nsEnumName12(_ value: SwiftDemo.Flavor) -> String { switch value { case SwiftDemo.Flavor.`vanilla`: return "vanilla" case SwiftDemo.Flavor.`chocolate`: return "chocolate" @@ -403,15 +421,15 @@ private func __nsEnumName9(_ value: SwiftDemo.Flavor) -> String { } // s:9SwiftDemo7FormulaO -private func __nsReadCase13(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Formula? { +private func __nsReadCase16(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Formula? { let (s, _) = slots.elements(i) switch s.int64(0) { case 0: - guard let e0 = __nsReadCase13(s, 1) else { return nil } - guard let e1 = __nsReadCase13(s, 2) else { return nil } + guard let e0 = __nsReadCase16(s, 1) else { return nil } + guard let e1 = __nsReadCase16(s, 2) else { return nil } return SwiftDemo.Formula.`sum`(e0, e1) case 1: - guard let e0 = __nsReadCase13(s, 1) else { return nil } + guard let e0 = __nsReadCase16(s, 1) else { return nil } return SwiftDemo.Formula.`negate`(e0) case 2: let e0 = s.double(1) @@ -420,17 +438,17 @@ private func __nsReadCase13(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Formula? } } -private func __nsReportCase13(_ r: R, _ value: SwiftDemo.Formula) { +private func __nsReportCase16(_ r: R, _ value: SwiftDemo.Formula) { switch value { - case let SwiftDemo.Formula.`sum`(p0, p1): r.returnCase(0) { __nsReportCase13(r, p0); __nsReportCase13(r, p1) } - case let SwiftDemo.Formula.`negate`(p0): r.returnCase(1) { __nsReportCase13(r, p0) } + case let SwiftDemo.Formula.`sum`(p0, p1): r.returnCase(0) { __nsReportCase16(r, p0); __nsReportCase16(r, p1) } + case let SwiftDemo.Formula.`negate`(p0): r.returnCase(1) { __nsReportCase16(r, p0) } case let SwiftDemo.Formula.`number`(p0): r.returnCase(2) { r.returnDouble(Double(p0)) } @unknown default: r.returnNull() } } // s:9SwiftDemo7PayloadO -private func __nsReadCase15(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Payload? { +private func __nsReadCase18(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Payload? { let (s, _) = slots.elements(i) switch s.int64(0) { case 0: @@ -443,7 +461,7 @@ private func __nsReadCase15(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Payload? guard let e0 = (s.object(1) as? __NSBox)?.value else { return nil } return SwiftDemo.Payload.`point`(e0) case 3: - guard let e0 = __nsEnum9(s.string(1)) else { return nil } + guard let e0 = __nsEnum12(s.string(1)) else { return nil } return SwiftDemo.Payload.`flavor`(e0) case 4: guard let e0 = s.object(1) as? SwiftDemo.Tracker else { return nil } @@ -452,19 +470,19 @@ private func __nsReadCase15(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Payload? } } -private func __nsReportCase15(_ r: R, _ value: SwiftDemo.Payload) { +private func __nsReportCase18(_ r: R, _ value: SwiftDemo.Payload) { switch value { case let SwiftDemo.Payload.`maybe`(p0): r.returnCase(0) { if let p0 { r.returnInt64(Int64(p0)) } else { r.returnNull() } } case let SwiftDemo.Payload.`names`(p0): r.returnCase(1) { r.returnArray(p0) { element in r.returnString(element) } } - case let SwiftDemo.Payload.`point`(p0): r.returnCase(2) { r.returnObject(__NSBox(p0), 7) } - case let SwiftDemo.Payload.`flavor`(p0): r.returnCase(3) { r.returnString(__nsEnumName9(p0)) } - case let SwiftDemo.Payload.`tracker`(p0): r.returnCase(4) { r.returnObject(p0, __nsTypeIndex(p0, 19)) } + case let SwiftDemo.Payload.`point`(p0): r.returnCase(2) { r.returnObject(__NSBox(p0), 10) } + case let SwiftDemo.Payload.`flavor`(p0): r.returnCase(3) { r.returnString(__nsEnumName12(p0)) } + case let SwiftDemo.Payload.`tracker`(p0): r.returnCase(4) { r.returnObject(p0, __nsTypeIndex(p0, 22)) } @unknown default: r.returnNull() } } // s:9SwiftDemo7PolygonC5StyleO -private func __nsEnum17(_ name: String) -> SwiftDemo.Polygon.Style? { +private func __nsEnum20(_ name: String) -> SwiftDemo.Polygon.Style? { switch name { case "solid": return SwiftDemo.Polygon.Style.`solid` case "dashed": return SwiftDemo.Polygon.Style.`dashed` @@ -472,7 +490,7 @@ private func __nsEnum17(_ name: String) -> SwiftDemo.Polygon.Style? { } } -private func __nsEnumName17(_ value: SwiftDemo.Polygon.Style) -> String { +private func __nsEnumName20(_ value: SwiftDemo.Polygon.Style) -> String { switch value { case SwiftDemo.Polygon.Style.`solid`: return "solid" case SwiftDemo.Polygon.Style.`dashed`: return "dashed" @@ -481,12 +499,129 @@ private func __nsEnumName17(_ value: SwiftDemo.Polygon.Style) -> String { } private func __nsTypeIndex(_ object: AnyObject, _ declared: UInt32) -> UInt32 { - if object is SwiftDemo.Square { return 11 } + if object is SwiftDemo.Square { return 14 } return declared } -// s:9SwiftDemo0B0C5greet4name5timesS2S_SitF +// s:12SwiftDemoKit5MoneyV0aB0E6isZeroSbvp private func __nsThunk0(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemoKit.Money") } + let result: Bool = box.value.`isZero` + rt.returnBool(result) +} + +// s:12SwiftDemoKit5MoneyV0aB0E7doubledACyF +private func __nsThunk1(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemoKit.Money") } + let result: SwiftDemoKit.Money = box.value.`doubled`() + rt.returnObject(__NSBox(result), 1) +} + +// s:12SwiftDemoKit5MoneyV6addingyA2CF +private func __nsThunk2(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemoKit.Money") } + guard let a0 = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemoKit.Money") } + let result: SwiftDemoKit.Money = box.value.`adding`(a0) + rt.returnObject(__NSBox(result), 1) +} + +// s:12SwiftDemoKit5MoneyV6amount8currencyACSi_SStcfc +private func __nsThunk3(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) + let a1 = rt.slots.string(1) + let result: SwiftDemoKit.Money = SwiftDemoKit.Money(amount: a0, currency: a1) + rt.returnObject(__NSBox(result), 1) +} + +// s:12SwiftDemoKit5MoneyV6amountSivp +private func __nsThunk4(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemoKit.Money") } + let result: Int = box.value.`amount` + rt.returnInt64(Int64(result)) +} + +// s:12SwiftDemoKit5MoneyV6amountSivp (setter) +private func __nsThunk5(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemoKit.Money") } + let newValue = Int(truncatingIfNeeded: rt.slots.int64(1)) + box.value.`amount` = newValue + rt.returnVoid() +} + +// s:12SwiftDemoKit5MoneyV8currencySSvp +private func __nsThunk6(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemoKit.Money") } + let result: String = box.value.`currency` + rt.returnString(result) +} + +// s:12SwiftDemoKit5MoneyV8currencySSvp (setter) +private func __nsThunk7(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemoKit.Money") } + let newValue = rt.slots.string(1) + box.value.`currency` = newValue + rt.returnVoid() +} + +// s:12SwiftDemoKit6WalletC0aB0E7summarySSyF +private func __nsThunk8(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemoKit.Wallet else { return rt.throwTypeError("receiver must be SwiftDemoKit.Wallet") } + let result: String = receiver.`summary`() + rt.returnString(result) +} + +// s:12SwiftDemoKit6WalletC5ownerACSS_tcfc +private func __nsThunk9(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + let a0 = rt.slots.string(0) + let result: SwiftDemoKit.Wallet = SwiftDemoKit.Wallet(owner: a0) + rt.returnObject(result, __nsTypeIndex(result, 2)) +} + +// s:12SwiftDemoKit6WalletC5ownerSSvp +private func __nsThunk10(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemoKit.Wallet else { return rt.throwTypeError("receiver must be SwiftDemoKit.Wallet") } + let result: String = receiver.`owner` + rt.returnString(result) +} + +// s:12SwiftDemoKit6WalletC7balanceAA5MoneyVvp +private func __nsThunk11(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemoKit.Wallet else { return rt.throwTypeError("receiver must be SwiftDemoKit.Wallet") } + let result: SwiftDemoKit.Money = receiver.`balance` + rt.returnObject(__NSBox(result), 1) +} + +// s:12SwiftDemoKit6WalletC7deposityyAA5MoneyVF +private func __nsThunk12(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemoKit.Wallet else { return rt.throwTypeError("receiver must be SwiftDemoKit.Wallet") } + guard let a0 = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemoKit.Money") } + let _: Void = receiver.`deposit`(a0) + rt.returnVoid() +} + +// s:12SwiftDemoKit9formattedySSAA5MoneyVF +private func __nsThunk13(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let a0 = (rt.slots.object(0) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemoKit.Money") } + let result: String = SwiftDemoKit.`formatted`(a0) + rt.returnString(result) +} + +// s:9SwiftDemo0B0C5greet4name5timesS2S_SitF +private func __nsThunk14(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Demo else { return rt.throwTypeError("receiver must be SwiftDemo.Demo") } let a0 = rt.slots.string(1) @@ -496,7 +631,7 @@ private func __nsThunk0(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointe } // s:9SwiftDemo0B0C5greet4nameS2S_tF -private func __nsThunk1(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk15(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Demo else { return rt.throwTypeError("receiver must be SwiftDemo.Demo") } let a0 = rt.slots.string(1) @@ -505,28 +640,28 @@ private func __nsThunk1(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointe } // s:9SwiftDemo0B0C7versionSSvpZ -private func __nsThunk2(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk16(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: String = SwiftDemo.Demo.`version` rt.returnString(result) } // s:9SwiftDemo0B0CACycfc -private func __nsThunk3(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk17(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Demo = SwiftDemo.Demo() - rt.returnObject(result, __nsTypeIndex(result, 0)) + rt.returnObject(result, __nsTypeIndex(result, 3)) } // s:9SwiftDemo10allFlavorsSayAA6FlavorOGyF -private func __nsThunk4(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk18(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: [SwiftDemo.Flavor] = SwiftDemo.`allFlavors`() - rt.returnArray(result) { element in rt.returnString(__nsEnumName9(element)) } + rt.returnArray(result) { element in rt.returnString(__nsEnumName12(element)) } } // s:9SwiftDemo10echoUInt64ys0D0VADF -private func __nsThunk5(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk19(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.uint64(0) let result: UInt64 = SwiftDemo.`echoUInt64`(a0) @@ -534,7 +669,7 @@ private func __nsThunk5(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointe } // s:9SwiftDemo10greetLater_10completionySSSg_yADYbctF -private func __nsThunk6(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk20(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.isNull(0) ? nil : rt.slots.string(0) let a1 = { () -> @Sendable (String?) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(1)); return { (p0: String?) in callback.invoke { r in if let p0 { r.returnString(p0) } else { r.returnNull() } } } }() @@ -543,14 +678,14 @@ private func __nsThunk6(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointe } // s:9SwiftDemo10largestIntSiyF -private func __nsThunk7(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk21(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: Int = SwiftDemo.`largestInt`() rt.returnInt64(Int64(result)) } // s:9SwiftDemo10namesLaterySaySSGSiYaF -private func __nsThunk8(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk22(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let completion = rt.beginAsync() @@ -563,7 +698,7 @@ private func __nsThunk8(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointe } // s:9SwiftDemo10wordCountsySDySSSiGSaySSGF -private func __nsThunk9(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk23(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> String? in s.string(j) }) else { return rt.throwTypeError("argument 1 must be an array of String") } let result: [String: Int] = SwiftDemo.`wordCounts`(a0) @@ -571,15 +706,15 @@ private func __nsThunk9(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointe } // s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc -private func __nsThunk10(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk24(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Measurement.Unit = SwiftDemo.Measurement.Unit(symbol: a0) - rt.returnObject(__NSBox(result), 3) + rt.returnObject(__NSBox(result), 6) } // s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp -private func __nsThunk11(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk25(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Measurement.Unit") } let result: String = box.value.`symbol` @@ -587,7 +722,7 @@ private func __nsThunk11(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp (setter) -private func __nsThunk12(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk26(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Measurement.Unit") } let newValue = rt.slots.string(1) @@ -596,15 +731,15 @@ private func __nsThunk12(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo11MeasurementO6isNoneSbvp -private func __nsThunk13(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk27(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsReadCase2(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Measurement") } + guard let receiver = __nsReadCase5(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Measurement") } let result: Bool = receiver.`isNone` rt.returnBool(result) } // s:9SwiftDemo11checkedSideyS2dKF -private func __nsThunk14(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk28(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) do { @@ -616,7 +751,7 @@ private func __nsThunk14(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo11delayedEcho_5afterS2S_SdtYaKF -private func __nsThunk15(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk29(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let a1 = rt.slots.double(1) @@ -634,7 +769,7 @@ private func __nsThunk15(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF -private func __nsThunk16(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk30(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = rt.slots.object(0) as? UIView else { return rt.throwTypeError("argument 1 must be a UIView") } let result: UIView? = SwiftDemo.`firstSubview`(of: a0) @@ -646,7 +781,7 @@ private func __nsThunk16(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF -private func __nsThunk17(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk31(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let completion = rt.beginAsync() @@ -654,73 +789,81 @@ private func __nsThunk17(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint Task { let a0 = captured.value let result: SwiftDemo.Measurement = await SwiftDemo.`measureLater`(a0) - __nsReportCase2(completion, result) + __nsReportCase5(completion, result) } } // s:9SwiftDemo12measurementsSayAA11MeasurementOGyF -private func __nsThunk18(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk32(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: [SwiftDemo.Measurement] = SwiftDemo.`measurements`() - rt.returnArray(result) { element in __nsReportCase2(rt, element) } + rt.returnArray(result) { element in __nsReportCase5(rt, element) } } // s:9SwiftDemo12swapTrackersyyAA7TrackerCz_ADztF -private func __nsThunk19(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk33(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let v0 = rt.slots.object(0) as? SwiftDemo.Tracker else { return rt.throwTypeError("argument 1 must be SwiftDemo.Tracker") } var a0 = v0 guard let v1 = rt.slots.object(1) as? SwiftDemo.Tracker else { return rt.throwTypeError("argument 2 must be SwiftDemo.Tracker") } var a1 = v1 let _: Void = SwiftDemo.`swapTrackers`(&a0, &a1) - rt.writeBack(0) { rt.returnObject(a0, __nsTypeIndex(a0, 19)) } - rt.writeBack(1) { rt.returnObject(a1, __nsTypeIndex(a1, 19)) } + rt.writeBack(0) { rt.returnObject(a0, __nsTypeIndex(a0, 22)) } + rt.writeBack(1) { rt.returnObject(a1, __nsTypeIndex(a1, 22)) } rt.returnVoid() } // s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc -private func __nsThunk20(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk34(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Precipitation? = SwiftDemo.Precipitation(rawValue: a0) if let result { - rt.returnString(__nsEnumName4(result)) + rt.returnString(__nsEnumName7(result)) } else { rt.returnNull() } } // s:9SwiftDemo13defaultFlavorAA0D0Ovp -private func __nsThunk21(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk35(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Flavor = SwiftDemo.`defaultFlavor` - rt.returnString(__nsEnumName9(result)) + rt.returnString(__nsEnumName12(result)) } // s:9SwiftDemo13globalCounterSivp -private func __nsThunk22(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk36(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: Int = SwiftDemo.`globalCounter` rt.returnInt64(Int64(result)) } // s:9SwiftDemo13globalCounterSivp (setter) -private func __nsThunk23(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk37(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let newValue = Int(truncatingIfNeeded: rt.slots.int64(0)) SwiftDemo.`globalCounter` = newValue rt.returnVoid() } +// s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF +private func __nsThunk38(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + let a0 = rt.slots.string(0) + let result: SwiftDemoKit.Wallet = SwiftDemo.`starterWallet`(for: a0) + rt.returnObject(result, __nsTypeIndex(result, 2)) +} + // s:9SwiftDemo16makeDefaultPointAA0E0VyF -private func __nsThunk24(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk39(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Point = SwiftDemo.`makeDefaultPoint`() - rt.returnObject(__NSBox(result), 7) + rt.returnObject(__NSBox(result), 10) } // s:9SwiftDemo16makeTrackerLater2idAA0D0CSi_tYaF -private func __nsThunk25(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk40(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let completion = rt.beginAsync() @@ -728,20 +871,20 @@ private func __nsThunk25(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint Task { let a0 = captured.value let result: SwiftDemo.Tracker = await SwiftDemo.`makeTrackerLater`(id: a0) - completion.returnObject(result, __nsTypeIndex(result, 19)) + completion.returnObject(result, __nsTypeIndex(result, 22)) } } // s:9SwiftDemo3JobO6TicketV2idAESi_tcfc -private func __nsThunk26(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk41(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: SwiftDemo.Job.Ticket = SwiftDemo.Job.Ticket(id: a0) - rt.returnObject(__NSBox(result), 5) + rt.returnObject(__NSBox(result), 8) } // s:9SwiftDemo3JobO6TicketV2idSivp -private func __nsThunk27(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk42(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Job.Ticket") } let result: Int = box.value.`id` @@ -749,7 +892,7 @@ private func __nsThunk27(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo3JobO6TicketV2idSivp (setter) -private func __nsThunk28(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk43(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Job.Ticket") } let newValue = Int(truncatingIfNeeded: rt.slots.int64(1)) @@ -757,25 +900,33 @@ private func __nsThunk28(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint rt.returnVoid() } +// s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF +private func __nsThunk44(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> SwiftDemoKit.Money? in (s.object(j) as? __NSBox)?.value }) else { return rt.throwTypeError("argument 1 must be an array of SwiftDemoKit.Money") } + let result: SwiftDemoKit.Money = SwiftDemo.`sum`(of: a0) + rt.returnObject(__NSBox(result), 1) +} + // s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc -private func __nsThunk29(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk45(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = (rt.slots.object(0) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemo.Point") } guard let a1 = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("argument 2 must be SwiftDemo.Point") } let result: SwiftDemo.Ring = SwiftDemo.Ring(inner: a0, outer: a1) - rt.returnObject(__NSBox(result), 6) + rt.returnObject(__NSBox(result), 9) } // s:9SwiftDemo4RingV5innerAA5PointVvp -private func __nsThunk30(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk46(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } let result: SwiftDemo.Point = box.value.`inner` - rt.returnObject(__NSBox(result), 7) + rt.returnObject(__NSBox(result), 10) } // s:9SwiftDemo4RingV5innerAA5PointVvp (setter) -private func __nsThunk31(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk47(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } guard let newValue = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("value must be SwiftDemo.Point") } @@ -784,15 +935,15 @@ private func __nsThunk31(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4RingV5outerAA5PointVvp -private func __nsThunk32(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk48(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } let result: SwiftDemo.Point = box.value.`outer` - rt.returnObject(__NSBox(result), 7) + rt.returnObject(__NSBox(result), 10) } // s:9SwiftDemo4RingV5outerAA5PointVvp (setter) -private func __nsThunk33(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk49(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } guard let newValue = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("value must be SwiftDemo.Point") } @@ -801,7 +952,7 @@ private func __nsThunk33(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4RingV6expand2byySd_tF -private func __nsThunk34(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk50(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } let a0 = rt.slots.double(1) @@ -810,15 +961,15 @@ private func __nsThunk34(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4area2ofSdAA11MeasurementO_tF -private func __nsThunk35(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk51(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsReadCase2(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Measurement") } + guard let a0 = __nsReadCase5(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Measurement") } let result: Double = SwiftDemo.`area`(of: a0) rt.returnDouble(Double(result)) } // s:9SwiftDemo4bumpyySizF -private func __nsThunk36(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk52(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let v0 = Int(truncatingIfNeeded: rt.slots.int64(0)) var a0 = v0 @@ -828,15 +979,23 @@ private func __nsThunk36(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4echoyAA7PayloadOADF -private func __nsThunk37(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk53(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsReadCase15(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Payload") } + guard let a0 = __nsReadCase18(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Payload") } let result: SwiftDemo.Payload = SwiftDemo.`echo`(a0) - __nsReportCase15(rt, result) + __nsReportCase18(rt, result) +} + +// s:9SwiftDemo4flipy0aB3Kit4CoinOAEF +private func __nsThunk54(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let a0 = __nsEnum0(rt.slots.string(0)) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemoKit.Coin") } + let result: SwiftDemoKit.Coin = SwiftDemo.`flip`(a0) + rt.returnString(__nsEnumName0(result)) } // s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF -private func __nsThunk38(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk55(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = URL(string: rt.slots.string(0)) else { return rt.throwTypeError("argument 1 must be a valid URL") } let result: String? = SwiftDemo.`host`(of: a0) @@ -848,7 +1007,7 @@ private func __nsThunk38(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4rampy10Foundation4DataVSiF -private func __nsThunk39(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk56(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: Data = SwiftDemo.`ramp`(a0) @@ -856,7 +1015,7 @@ private func __nsThunk39(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF -private func __nsThunk40(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk57(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> UIView? in s.object(j) as? UIView }) else { return rt.throwTypeError("argument 1 must be an array of a UIView") } let result: [Int] = SwiftDemo.`tags`(a0) @@ -864,7 +1023,7 @@ private func __nsThunk40(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4text2ofSSAA4NoteC_tF -private func __nsThunk41(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk58(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = rt.slots.object(0) as? SwiftDemo.Note else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Note") } let result: String = SwiftDemo.`text`(of: a0) @@ -872,7 +1031,7 @@ private func __nsThunk41(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV11descriptionSSvp -private func __nsThunk42(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk59(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let result: String = box.value.`description` @@ -880,16 +1039,16 @@ private func __nsThunk42(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV1x1yACSd_Sdtcfc -private func __nsThunk43(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk60(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let a1 = rt.slots.double(1) let result: SwiftDemo.Point = SwiftDemo.Point(x: a0, y: a1) - rt.returnObject(__NSBox(result), 7) + rt.returnObject(__NSBox(result), 10) } // s:9SwiftDemo5PointV1xSdvp -private func __nsThunk44(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk61(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let result: Double = box.value.`x` @@ -897,7 +1056,7 @@ private func __nsThunk44(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV1xSdvp (setter) -private func __nsThunk45(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk62(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let newValue = rt.slots.double(1) @@ -906,7 +1065,7 @@ private func __nsThunk45(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV1ySdvp -private func __nsThunk46(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk63(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let result: Double = box.value.`y` @@ -914,7 +1073,7 @@ private func __nsThunk46(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV1ySdvp (setter) -private func __nsThunk47(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk64(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let newValue = rt.slots.double(1) @@ -923,7 +1082,7 @@ private func __nsThunk47(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV6lengthSdvp -private func __nsThunk48(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk65(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let result: Double = box.value.`length` @@ -931,7 +1090,7 @@ private func __nsThunk48(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5clearyySSSgzF -private func __nsThunk49(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk66(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let v0 = rt.slots.isNull(0) ? nil : rt.slots.string(0) var a0 = v0 @@ -941,7 +1100,7 @@ private func __nsThunk49(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5halveyySizKF -private func __nsThunk50(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk67(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let v0 = Int(truncatingIfNeeded: rt.slots.int64(0)) var a0 = v0 @@ -955,7 +1114,7 @@ private func __nsThunk50(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5namesySaySSGSiF -private func __nsThunk51(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk68(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: [String] = SwiftDemo.`names`(a0) @@ -963,7 +1122,7 @@ private func __nsThunk51(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5shoutySSSgACF -private func __nsThunk52(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk69(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.isNull(0) ? nil : rt.slots.string(0) let result: String? = SwiftDemo.`shout`(a0) @@ -975,7 +1134,7 @@ private func __nsThunk52(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5totalySdSaySdGF -private func __nsThunk53(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk70(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> Double? in s.double(j) }) else { return rt.throwTypeError("argument 1 must be an array of Double") } let result: Double = SwiftDemo.`total`(a0) @@ -983,37 +1142,37 @@ private func __nsThunk53(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6CanvasCACycfc -private func __nsThunk54(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk71(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard Thread.isMainThread else { return rt.throwMessage("init() is isolated to the main actor; call it on the main thread") } MainActor.assumeIsolated { let result: SwiftDemo.Canvas = SwiftDemo.Canvas() - rt.returnObject(result, __nsTypeIndex(result, 8)) + rt.returnObject(result, __nsTypeIndex(result, 11)) } } // s:9SwiftDemo6FlavorO11descriptionSSvp -private func __nsThunk55(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk72(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsEnum9(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Flavor") } + guard let receiver = __nsEnum12(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Flavor") } let result: String = receiver.`description` rt.returnString(result) } // s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc -private func __nsThunk56(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk73(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: SwiftDemo.Flavor? = SwiftDemo.Flavor(rawValue: a0) if let result { - rt.returnString(__nsEnumName9(result)) + rt.returnString(__nsEnumName12(result)) } else { rt.returnNull() } } // s:9SwiftDemo6LoaderC10modernOnlyyyF -private func __nsThunk57(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk74(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard #available(iOS 16.0, *) else { return rt.throwMessage("modernOnly() requires iOS 16.0") } guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } @@ -1022,7 +1181,7 @@ private func __nsThunk57(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC11legacyFetchyyF -private func __nsThunk58(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk75(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let _: Void = receiver.`legacyFetch`() @@ -1030,7 +1189,7 @@ private func __nsThunk58(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC4eachyyySiXEF -private func __nsThunk59(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk76(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let a0 = { () -> (Int) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(1)); return { (p0: Int) in callback.invoke { r in r.returnInt64(Int64(p0)) } } }() @@ -1039,7 +1198,7 @@ private func __nsThunk59(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF -private func __nsThunk60(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk77(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let a0 = rt.slots.string(1) @@ -1052,7 +1211,7 @@ private func __nsThunk60(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF -private func __nsThunk61(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk78(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let a0 = rt.slots.double(1) @@ -1066,7 +1225,7 @@ private func __nsThunk61(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF -private func __nsThunk62(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk79(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } guard let a0 = URL(string: rt.slots.string(1)) else { return rt.throwTypeError("argument 1 must be a valid URL") } @@ -1084,7 +1243,7 @@ private func __nsThunk62(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF -private func __nsThunk63(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk80(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } guard let a0 = __nsReadMap(rt.slots, 1, { (s: __NSSlots, j: Int) -> Int? in Int(truncatingIfNeeded: s.int64(j)) }) else { return rt.throwTypeError("argument 1 must be an object whose values are Int") } @@ -1098,18 +1257,18 @@ private func __nsThunk63(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC6updateyyAA5PointVzF -private func __nsThunk64(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk81(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } guard let v0 = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemo.Point") } var a0 = v0 let _: Void = receiver.`update`(&a0) - rt.writeBack(0) { rt.returnObject(__NSBox(a0), 7) } + rt.writeBack(0) { rt.returnObject(__NSBox(a0), 10) } rt.returnVoid() } // s:9SwiftDemo6LoaderC8oldFetchyyF -private func __nsThunk65(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk82(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let _: Void = receiver.`oldFetch`() @@ -1117,14 +1276,14 @@ private func __nsThunk65(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderCACycfc -private func __nsThunk66(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk83(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Loader = SwiftDemo.Loader() - rt.returnObject(result, __nsTypeIndex(result, 10)) + rt.returnObject(result, __nsTypeIndex(result, 13)) } // s:9SwiftDemo6SquareC4areaSdvp -private func __nsThunk67(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk84(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let result: Double = receiver.`area` @@ -1132,15 +1291,15 @@ private func __nsThunk67(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6SquareC4sideACSd_tcfc -private func __nsThunk68(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk85(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let result: SwiftDemo.Square = SwiftDemo.Square(side: a0) - rt.returnObject(result, __nsTypeIndex(result, 11)) + rt.returnObject(result, __nsTypeIndex(result, 14)) } // s:9SwiftDemo6SquareC4sideSdvp -private func __nsThunk69(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk86(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let result: Double = receiver.`side` @@ -1148,7 +1307,7 @@ private func __nsThunk69(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6SquareC4sideSdvp (setter) -private func __nsThunk70(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk87(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let newValue = rt.slots.double(1) @@ -1157,7 +1316,7 @@ private func __nsThunk70(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6SquareC5greet4nameS2S_tF -private func __nsThunk71(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk88(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let a0 = rt.slots.string(1) @@ -1166,7 +1325,7 @@ private func __nsThunk71(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6SquareC5scale2byySd_tF -private func __nsThunk72(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk89(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let a0 = rt.slots.double(1) @@ -1175,14 +1334,14 @@ private func __nsThunk72(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6SquareC5sidesSivpZ -private func __nsThunk73(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk90(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: Int = SwiftDemo.Square.`sides` rt.returnInt64(Int64(result)) } // s:9SwiftDemo6append_2toySS_SaySSGztF -private func __nsThunk74(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk91(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) guard let v1 = __nsReadArray(rt.slots, 1, { (s: __NSSlots, j: Int) -> String? in s.string(j) }) else { return rt.throwTypeError("argument 2 must be an array of String") } @@ -1193,7 +1352,7 @@ private func __nsThunk74(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7CounterC4stepSivp -private func __nsThunk75(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk92(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Counter else { return rt.throwTypeError("receiver must be SwiftDemo.Counter") } let completion = rt.beginAsync() @@ -1206,7 +1365,7 @@ private func __nsThunk75(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7CounterC5labelSSyF -private func __nsThunk76(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk93(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Counter else { return rt.throwTypeError("receiver must be SwiftDemo.Counter") } let result: String = receiver.`label`() @@ -1214,7 +1373,7 @@ private func __nsThunk76(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7CounterC5valueSivp -private func __nsThunk77(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk94(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Counter else { return rt.throwTypeError("receiver must be SwiftDemo.Counter") } let completion = rt.beginAsync() @@ -1227,7 +1386,7 @@ private func __nsThunk77(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7CounterC9incrementSiyF -private func __nsThunk78(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk95(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Counter else { return rt.throwTypeError("receiver must be SwiftDemo.Counter") } let completion = rt.beginAsync() @@ -1240,22 +1399,22 @@ private func __nsThunk78(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7CounterCACycfc -private func __nsThunk79(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk96(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Counter = SwiftDemo.Counter() - rt.returnObject(result, __nsTypeIndex(result, 12)) + rt.returnObject(result, __nsTypeIndex(result, 15)) } // s:9SwiftDemo7FormulaO5valueSdvp -private func __nsThunk80(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk97(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsReadCase13(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Formula") } + guard let receiver = __nsReadCase16(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Formula") } let result: Double = receiver.`value` rt.returnDouble(Double(result)) } // s:9SwiftDemo7PaletteC11strokeLaterSiyYaF -private func __nsThunk81(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk98(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Palette else { return rt.throwTypeError("receiver must be SwiftDemo.Palette") } let completion = rt.beginAsync() @@ -1268,7 +1427,7 @@ private func __nsThunk81(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7PaletteC6strokeSiyF -private func __nsThunk82(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk99(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Palette else { return rt.throwTypeError("receiver must be SwiftDemo.Palette") } guard Thread.isMainThread else { return rt.throwMessage("stroke() is isolated to the main actor; call it on the main thread") } @@ -1279,7 +1438,7 @@ private func __nsThunk82(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7PaletteC7strokesSivp -private func __nsThunk83(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk100(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Palette else { return rt.throwTypeError("receiver must be SwiftDemo.Palette") } guard Thread.isMainThread else { return rt.throwMessage("strokes is isolated to the main actor; call it on the main thread") } @@ -1290,17 +1449,17 @@ private func __nsThunk83(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7PaletteCACycfc -private func __nsThunk84(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk101(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard Thread.isMainThread else { return rt.throwMessage("init() is isolated to the main actor; call it on the main thread") } MainActor.assumeIsolated { let result: SwiftDemo.Palette = SwiftDemo.Palette() - rt.returnObject(result, __nsTypeIndex(result, 14)) + rt.returnObject(result, __nsTypeIndex(result, 17)) } } // s:9SwiftDemo7PolygonC11vertexCountSivp -private func __nsThunk85(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk102(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let result: Int = receiver.`vertexCount` @@ -1308,35 +1467,35 @@ private func __nsThunk85(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7PolygonC4makeACyFZ -private func __nsThunk86(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk103(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Polygon = SwiftDemo.Polygon.`make`() - rt.returnObject(result, __nsTypeIndex(result, 16)) + rt.returnObject(result, __nsTypeIndex(result, 19)) } // s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc -private func __nsThunk87(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk104(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let a1 = Int(truncatingIfNeeded: rt.slots.int64(1)) let result: SwiftDemo.Polygon = SwiftDemo.Polygon(name: a0, vertexCount: a1) - rt.returnObject(result, __nsTypeIndex(result, 16)) + rt.returnObject(result, __nsTypeIndex(result, 19)) } // s:9SwiftDemo7PolygonC4nameACSgSS_tcfc -private func __nsThunk88(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk105(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Polygon? = SwiftDemo.Polygon(name: a0) if let result { - rt.returnObject(result, __nsTypeIndex(result, 16)) + rt.returnObject(result, __nsTypeIndex(result, 19)) } else { rt.returnNull() } } // s:9SwiftDemo7PolygonC4nameSSvp -private func __nsThunk89(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk106(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let result: String = receiver.`name` @@ -1344,19 +1503,19 @@ private func __nsThunk89(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc -private func __nsThunk90(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk107(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Polygon.Style? = SwiftDemo.Polygon.Style(rawValue: a0) if let result { - rt.returnString(__nsEnumName17(result)) + rt.returnString(__nsEnumName20(result)) } else { rt.returnNull() } } // s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF -private func __nsThunk91(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk108(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let a0 = rt.slots.double(1) @@ -1366,7 +1525,7 @@ private func __nsThunk91(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7PolygonC5scale2byySd_tF -private func __nsThunk92(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk109(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let a0 = rt.slots.double(1) @@ -1375,7 +1534,7 @@ private func __nsThunk92(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7PolygonC5scale2byySi_tF -private func __nsThunk93(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk110(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let a0 = Int(truncatingIfNeeded: rt.slots.int64(1)) @@ -1384,30 +1543,30 @@ private func __nsThunk93(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7PolygonC5styleAC5StyleOvp -private func __nsThunk94(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk111(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let result: SwiftDemo.Polygon.Style = receiver.`style` - rt.returnString(__nsEnumName17(result)) + rt.returnString(__nsEnumName20(result)) } // s:9SwiftDemo7PolygonC6sharedACvpZ -private func __nsThunk95(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk112(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Polygon = SwiftDemo.Polygon.`shared` - rt.returnObject(result, __nsTypeIndex(result, 16)) + rt.returnObject(result, __nsTypeIndex(result, 19)) } // s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc -private func __nsThunk96(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk113(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let result: SwiftDemo.Polygon.Metrics = SwiftDemo.Polygon.Metrics(perimeter: a0) - rt.returnObject(__NSBox(result), 18) + rt.returnObject(__NSBox(result), 21) } // s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp -private func __nsThunk97(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk114(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon.Metrics") } let result: Double = box.value.`perimeter` @@ -1415,7 +1574,7 @@ private func __nsThunk97(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp (setter) -private func __nsThunk98(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk115(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon.Metrics") } let newValue = rt.slots.double(1) @@ -1424,16 +1583,16 @@ private func __nsThunk98(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF -private func __nsThunk99(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk116(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let a0 = rt.slots.double(1) let result: SwiftDemo.Polygon.Metrics = receiver.`metrics`(side: a0) - rt.returnObject(__NSBox(result), 18) + rt.returnObject(__NSBox(result), 21) } // s:9SwiftDemo7PolygonC8describeySSACSgFZ -private func __nsThunk100(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk117(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) var a0: SwiftDemo.Polygon? = nil if !rt.slots.isNull(0) { @@ -1445,15 +1604,15 @@ private func __nsThunk100(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7TrackerC2idACSi_tcfc -private func __nsThunk101(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk118(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: SwiftDemo.Tracker = SwiftDemo.Tracker(id: a0) - rt.returnObject(result, __nsTypeIndex(result, 19)) + rt.returnObject(result, __nsTypeIndex(result, 22)) } // s:9SwiftDemo7TrackerC2idSivp -private func __nsThunk102(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk119(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Tracker else { return rt.throwTypeError("receiver must be SwiftDemo.Tracker") } let result: Int = receiver.`id` @@ -1461,30 +1620,30 @@ private func __nsThunk102(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7TrackerC4sameACyF -private func __nsThunk103(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk120(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Tracker else { return rt.throwTypeError("receiver must be SwiftDemo.Tracker") } let result: SwiftDemo.Tracker = receiver.`same`() - rt.returnObject(result, __nsTypeIndex(result, 19)) + rt.returnObject(result, __nsTypeIndex(result, 22)) } // s:9SwiftDemo7TrackerC9liveCountSivpZ -private func __nsThunk104(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk121(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: Int = SwiftDemo.Tracker.`liveCount` rt.returnInt64(Int64(result)) } // s:9SwiftDemo7explainySSAA10ShapeErrorOF -private func __nsThunk105(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk122(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsReadCase1(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.ShapeError") } + guard let a0 = __nsReadCase4(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.ShapeError") } let result: String = SwiftDemo.`explain`(a0) rt.returnString(result) } // s:9SwiftDemo7lengthsySDySSSiGSDyS2SGF -private func __nsThunk106(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk123(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadMap(rt.slots, 0, { (s: __NSSlots, j: Int) -> String? in s.string(j) }) else { return rt.throwTypeError("argument 1 must be an object whose values are String") } let result: [String: Int] = SwiftDemo.`lengths`(a0) @@ -1492,16 +1651,16 @@ private func __nsThunk106(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7measure_2byAA11MeasurementOSd_SdSgtF -private func __nsThunk107(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk124(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let a1 = rt.slots.isNull(1) ? nil : rt.slots.double(1) let result: SwiftDemo.Measurement = SwiftDemo.`measure`(a0, by: a1) - __nsReportCase2(rt, result) + __nsReportCase5(rt, result) } // s:9SwiftDemo7nextDay5after10Foundation4DateVAF_tF -private func __nsThunk108(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk125(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Date(timeIntervalSince1970: rt.slots.double(0) / 1000) let result: Date = SwiftDemo.`nextDay`(after: a0) @@ -1509,7 +1668,7 @@ private func __nsThunk108(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7resolve_7against10Foundation3URLVSS_AFtF -private func __nsThunk109(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk126(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) guard let a1 = URL(string: rt.slots.string(1)) else { return rt.throwTypeError("argument 2 must be a valid URL") } @@ -1518,7 +1677,7 @@ private func __nsThunk109(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC12publishLateryySSF -private func __nsThunk110(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk127(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let a0 = rt.slots.string(1) @@ -1527,7 +1686,7 @@ private func __nsThunk110(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC5clearyyF -private func __nsThunk111(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk128(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let _: Void = receiver.`clear`() @@ -1535,7 +1694,7 @@ private func __nsThunk111(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC5countSivp -private func __nsThunk112(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk129(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let result: Int = receiver.`count` @@ -1543,7 +1702,7 @@ private func __nsThunk112(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC7publishyySSF -private func __nsThunk113(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk130(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let a0 = rt.slots.string(1) @@ -1552,7 +1711,7 @@ private func __nsThunk113(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC9subscribeyyySSYbcF -private func __nsThunk114(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk131(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let a0 = { () -> @Sendable (String) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(1)); return { (p0: String) in callback.invoke { r in r.returnString(p0) } } }() @@ -1561,22 +1720,22 @@ private func __nsThunk114(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierCACycfc -private func __nsThunk115(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk132(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Notifier = SwiftDemo.Notifier() - rt.returnObject(result, __nsTypeIndex(result, 20)) + rt.returnObject(result, __nsTypeIndex(result, 23)) } // s:9SwiftDemo8centroid2ofAA5PointVSayAEG_tF -private func __nsThunk116(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk133(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> SwiftDemo.Point? in (s.object(j) as? __NSBox)?.value }) else { return rt.throwTypeError("argument 1 must be an array of SwiftDemo.Point") } let result: SwiftDemo.Point = SwiftDemo.`centroid`(of: a0) - rt.returnObject(__NSBox(result), 7) + rt.returnObject(__NSBox(result), 10) } // s:9SwiftDemo8checksumySi10Foundation4DataVF -private func __nsThunk117(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk134(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.bytes(0) let result: Int = SwiftDemo.`checksum`(a0) @@ -1584,7 +1743,7 @@ private func __nsThunk117(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8describeySSSo6UIViewCF -private func __nsThunk118(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk135(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = rt.slots.object(0) as? UIView else { return rt.throwTypeError("argument 1 must be a UIView") } let result: String = SwiftDemo.`describe`(a0) @@ -1592,7 +1751,7 @@ private func __nsThunk118(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8echoInt8ys0D0VADF -private func __nsThunk119(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk136(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int8(truncatingIfNeeded: rt.slots.int64(0)) let result: Int8 = SwiftDemo.`echoInt8`(a0) @@ -1600,7 +1759,7 @@ private func __nsThunk119(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8makeNoteyAA0D0CSSF -private func __nsThunk120(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk137(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Note = SwiftDemo.`makeNote`(a0) @@ -1608,7 +1767,7 @@ private func __nsThunk120(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8mirroredySaySaySiGGADF -private func __nsThunk121(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk138(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> [Int]? in __nsReadArray(s, j, { (s: __NSSlots, j: Int) -> Int? in Int(truncatingIfNeeded: s.int64(j)) }) }) else { return rt.throwTypeError("argument 1 must be an array of an array of Int") } let result: [[Int]] = SwiftDemo.`mirrored`(a0) @@ -1616,23 +1775,23 @@ private func __nsThunk121(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8simplifyyAA7FormulaOADF -private func __nsThunk122(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk139(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsReadCase13(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Formula") } + guard let a0 = __nsReadCase16(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Formula") } let result: SwiftDemo.Formula = SwiftDemo.`simplify`(a0) - __nsReportCase13(rt, result) + __nsReportCase16(rt, result) } // s:9SwiftDemo8trackersySayAA7TrackerCGSaySiGF -private func __nsThunk123(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk140(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> Int? in Int(truncatingIfNeeded: s.int64(j)) }) else { return rt.throwTypeError("argument 1 must be an array of Int") } let result: [SwiftDemo.Tracker] = SwiftDemo.`trackers`(a0) - rt.returnArray(result) { element in rt.returnObject(element, __nsTypeIndex(element, 19)) } + rt.returnArray(result) { element in rt.returnObject(element, __nsTypeIndex(element, 22)) } } // s:9SwiftDemo9countdown4from_ySi_ySi_SbtXEtF -private func __nsThunk124(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk141(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let a1 = { () -> (Int, Bool) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(1)); return { (p0: Int, p1: Bool) in callback.invoke { r in r.returnInt64(Int64(p0)); r.returnBool(p1) } } }() @@ -1641,7 +1800,7 @@ private func __nsThunk124(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo9makeLabelySo7UILabelCSSF -private func __nsThunk125(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk142(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) guard Thread.isMainThread else { return rt.throwMessage("makeLabel(_:) is isolated to the main actor; call it on the main thread") } @@ -1652,7 +1811,7 @@ private func __nsThunk125(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo9noteLateryAA4NoteCSSYaF -private func __nsThunk126(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk143(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let completion = rt.beginAsync() @@ -1665,220 +1824,256 @@ private func __nsThunk126(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo9onMeasureyyyAA11MeasurementOXEF -private func __nsThunk127(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk144(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - let a0 = { () -> (SwiftDemo.Measurement) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(0)); return { (p0: SwiftDemo.Measurement) in callback.invoke { r in __nsReportCase2(r, p0) } } }() + let a0 = { () -> (SwiftDemo.Measurement) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(0)); return { (p0: SwiftDemo.Measurement) in callback.invoke { r in __nsReportCase5(r, p0) } } }() let _: Void = SwiftDemo.`onMeasure`(a0) rt.returnVoid() } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO -private func __nsThunk128(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk145(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsEnum4(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Precipitation") } + guard let receiver = __nsEnum7(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Precipitation") } let result: Int = receiver.`hashValue` rt.returnInt64(Int64(result)) } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO -private func __nsThunk129(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk146(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsEnum9(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Flavor") } + guard let receiver = __nsEnum12(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Flavor") } let result: Int = receiver.`hashValue` rt.returnInt64(Int64(result)) } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO -private func __nsThunk130(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk147(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsEnum17(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon.Style") } + guard let receiver = __nsEnum20(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon.Style") } let result: Int = receiver.`hashValue` rt.returnInt64(Int64(result)) } // s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO -private func __nsThunk131(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk148(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsReadCase1(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.ShapeError") } + guard let receiver = __nsReadCase4(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.ShapeError") } let result: String = receiver.`localizedDescription` rt.returnString(result) } +private func __nsRegister(_ registrar: UnsafeMutableRawPointer) { + let api = registrar.load(as: UnsafeRawPointer.self) + let registerModule = api.load(fromByteOffset: 80, as: (@convention(c) (UnsafeMutableRawPointer, UInt32, UnsafePointer, UnsafePointer, __NSRelease) -> Void).self) + let registerType = api.load(fromByteOffset: 88, as: (@convention(c) (UnsafeMutableRawPointer, UInt32, UInt32, UnsafePointer, UnsafePointer, UnsafePointer, Int32) -> Void).self) + let registerMember = api.load(fromByteOffset: 96, as: (@convention(c) (UnsafeMutableRawPointer, Int32, UInt32, UInt32, UnsafePointer, UnsafePointer, UnsafePointer, UnsafePointer, __NSThunk?, __NSThunk?) -> Void).self) + let registerUnitModule = api.load(fromByteOffset: 336, as: (@convention(c) (UnsafeMutableRawPointer, UnsafePointer) -> Void).self) + + registerModule(registrar, 8, "SwiftDemo", "bc2d30bbfc7c1ee7", __nsRelease) + registerUnitModule(registrar, "SwiftDemo") + registerUnitModule(registrar, "SwiftDemoKit") + registerType(registrar, 0, 3, "SwiftDemoKit", "Coin", "SwiftDemoKit.Coin", -1) + registerType(registrar, 1, 2, "SwiftDemoKit", "Money", "SwiftDemoKit.Money", -1) + registerType(registrar, 2, 0, "SwiftDemoKit", "Wallet", "SwiftDemoKit.Wallet", -1) + registerType(registrar, 3, 0, "SwiftDemo", "Demo", "SwiftDemo.Demo", -1) + registerType(registrar, 4, 4, "SwiftDemo", "ShapeError", "SwiftDemo.ShapeError", -1) + registerType(registrar, 5, 4, "SwiftDemo", "Measurement", "SwiftDemo.Measurement", -1) + registerType(registrar, 6, 2, "SwiftDemo", "Measurement.Unit", "SwiftDemo.Measurement.Unit", -1) + registerType(registrar, 7, 3, "SwiftDemo", "Precipitation", "SwiftDemo.Precipitation", -1) + registerType(registrar, 8, 2, "SwiftDemo", "Job.Ticket", "SwiftDemo.Job.Ticket", -1) + registerType(registrar, 9, 2, "SwiftDemo", "Ring", "SwiftDemo.Ring", -1) + registerType(registrar, 10, 2, "SwiftDemo", "Point", "SwiftDemo.Point", -1) + registerType(registrar, 11, 0, "SwiftDemo", "Canvas", "SwiftDemo.Canvas", -1) + registerType(registrar, 12, 3, "SwiftDemo", "Flavor", "SwiftDemo.Flavor", -1) + registerType(registrar, 13, 0, "SwiftDemo", "Loader", "SwiftDemo.Loader", -1) + registerType(registrar, 14, 0, "SwiftDemo", "Square", "SwiftDemo.Square", 19) + registerType(registrar, 15, 1, "SwiftDemo", "Counter", "SwiftDemo.Counter", -1) + registerType(registrar, 16, 4, "SwiftDemo", "Formula", "SwiftDemo.Formula", -1) + registerType(registrar, 17, 0, "SwiftDemo", "Palette", "SwiftDemo.Palette", -1) + registerType(registrar, 18, 4, "SwiftDemo", "Payload", "SwiftDemo.Payload", -1) + registerType(registrar, 19, 0, "SwiftDemo", "Polygon", "SwiftDemo.Polygon", -1) + registerType(registrar, 20, 3, "SwiftDemo", "Polygon.Style", "SwiftDemo.Polygon.Style", -1) + registerType(registrar, 21, 2, "SwiftDemo", "Polygon.Metrics", "SwiftDemo.Polygon.Metrics", -1) + registerType(registrar, 22, 0, "SwiftDemo", "Tracker", "SwiftDemo.Tracker", -1) + registerType(registrar, 23, 0, "SwiftDemo", "Notifier", "SwiftDemo.Notifier", -1) + registerMember(registrar, 0, 7, 0, "SwiftDemoKit", "dime", "dime", ">e0", nil, nil) + registerMember(registrar, 0, 7, 0, "SwiftDemoKit", "penny", "penny", ">e0", nil, nil) + registerMember(registrar, 1, 3, 0, "SwiftDemoKit", "isZero", "isZero", ">b", __nsThunk0, nil) + registerMember(registrar, 1, 1, 0, "SwiftDemoKit", "doubled", "doubled()", ">o1", __nsThunk1, nil) + registerMember(registrar, 1, 1, 0, "SwiftDemoKit", "adding", "adding(_:)", "o1>o1", __nsThunk2, nil) + registerMember(registrar, 1, 0, 0, "SwiftDemoKit", "constructor", "init(amount:currency:)", "i64,s>o1", __nsThunk3, nil) + registerMember(registrar, 1, 3, 2, "SwiftDemoKit", "amount", "amount", ">i64", __nsThunk4, __nsThunk5) + registerMember(registrar, 1, 3, 2, "SwiftDemoKit", "currency", "currency", ">s", __nsThunk6, __nsThunk7) + registerMember(registrar, 2, 1, 0, "SwiftDemoKit", "summary", "summary()", ">s", __nsThunk8, nil) + registerMember(registrar, 2, 0, 0, "SwiftDemoKit", "constructor", "init(owner:)", "s>o2", __nsThunk9, nil) + registerMember(registrar, 2, 3, 0, "SwiftDemoKit", "owner", "owner", ">s", __nsThunk10, nil) + registerMember(registrar, 2, 3, 0, "SwiftDemoKit", "balance", "balance", ">o1", __nsThunk11, nil) + registerMember(registrar, 2, 1, 0, "SwiftDemoKit", "deposit", "deposit(_:)", "o1>v", __nsThunk12, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemoKit", "formatted", "formatted(_:)", "o1>s", __nsThunk13, nil) + registerMember(registrar, 3, 1, 0, "SwiftDemo", "greet", "greet(name:times:)", "s,i64>s", __nsThunk14, nil) + registerMember(registrar, 3, 1, 0, "SwiftDemo", "greet", "greet(name:)", "s>s", __nsThunk15, nil) + registerMember(registrar, 3, 4, 0, "SwiftDemo", "version", "version", ">s", __nsThunk16, nil) + registerMember(registrar, 3, 0, 0, "SwiftDemo", "constructor", "init()", ">o3", __nsThunk17, nil) + registerMember(registrar, 4, 7, 0, "SwiftDemo", "invalidSide", "invalidSide(_:)", "f64>t4", nil, nil) + registerMember(registrar, 4, 7, 0, "SwiftDemo", "tooManySides", "tooManySides(count:limit:)", "i64,i64>t4", nil, nil) + registerMember(registrar, 4, 7, 0, "SwiftDemo", "unknown", "unknown", ">t4", nil, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "allFlavors", "allFlavors()", ">[e12]", __nsThunk18, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "echoUInt64", "echoUInt64(_:)", "u64>u64", __nsThunk19, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "greetLater", "greetLater(_:completion:)", "s?,(s?)>v", __nsThunk20, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "largestInt", "largestInt()", ">i64", __nsThunk21, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "namesLater", "namesLater(_:)", "i64>[s]", __nsThunk22, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "wordCounts", "wordCounts(_:)", "[s]>{i64}", __nsThunk23, nil) + registerMember(registrar, 6, 0, 0, "SwiftDemo", "constructor", "init(symbol:)", "s>o6", __nsThunk24, nil) + registerMember(registrar, 6, 3, 2, "SwiftDemo", "symbol", "symbol", ">s", __nsThunk25, __nsThunk26) + registerMember(registrar, 5, 7, 0, "SwiftDemo", "area", "area(width:height:)", "f64,f64>t5", nil, nil) + registerMember(registrar, 5, 7, 0, "SwiftDemo", "none", "none", ">t5", nil, nil) + registerMember(registrar, 5, 3, 0, "SwiftDemo", "isNone", "isNone", ">b", __nsThunk27, nil) + registerMember(registrar, 5, 7, 0, "SwiftDemo", "length", "length(_:)", "f64>t5", nil, nil) + registerMember(registrar, -1, 5, 1, "SwiftDemo", "checkedSide", "checkedSide(_:)", "f64>f64", __nsThunk28, nil) + registerMember(registrar, -1, 5, 9, "SwiftDemo", "delayedEcho", "delayedEcho(_:after:)", "s,f64>s", __nsThunk29, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "firstSubview", "firstSubview(of:)", "@UIView>@UIView?", __nsThunk30, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "measureLater", "measureLater(_:)", "f64>t5", __nsThunk31, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "measurements", "measurements()", ">[t5]", __nsThunk32, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "swapTrackers", "swapTrackers(_:_:)", "&o22,&o22>v", __nsThunk33, nil) + registerMember(registrar, 7, 7, 0, "SwiftDemo", "none", "none", ">e7", nil, nil) + registerMember(registrar, 7, 7, 0, "SwiftDemo", "rain", "rain", ">e7", nil, nil) + registerMember(registrar, 7, 7, 0, "SwiftDemo", "snow", "snow", ">e7", nil, nil) + registerMember(registrar, 7, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "s>e7?", __nsThunk34, nil) + registerMember(registrar, -1, 6, 0, "SwiftDemo", "defaultFlavor", "defaultFlavor", ">e12", __nsThunk35, nil) + registerMember(registrar, -1, 6, 2, "SwiftDemo", "globalCounter", "globalCounter", ">i64", __nsThunk36, __nsThunk37) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "starterWallet", "starterWallet(for:)", "s>o2", __nsThunk38, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeDefaultPoint", "makeDefaultPoint()", ">o10", __nsThunk39, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "makeTrackerLater", "makeTrackerLater(id:)", "i64>o22", __nsThunk40, nil) + registerMember(registrar, 8, 0, 0, "SwiftDemo", "constructor", "init(id:)", "i64>o8", __nsThunk41, nil) + registerMember(registrar, 8, 3, 2, "SwiftDemo", "id", "id", ">i64", __nsThunk42, __nsThunk43) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "sum", "sum(of:)", "[o1]>o1", __nsThunk44, nil) + registerMember(registrar, 9, 0, 0, "SwiftDemo", "constructor", "init(inner:outer:)", "o10,o10>o9", __nsThunk45, nil) + registerMember(registrar, 9, 3, 2, "SwiftDemo", "inner", "inner", ">o10", __nsThunk46, __nsThunk47) + registerMember(registrar, 9, 3, 2, "SwiftDemo", "outer", "outer", ">o10", __nsThunk48, __nsThunk49) + registerMember(registrar, 9, 1, 0, "SwiftDemo", "expand", "expand(by:)", "f64>v", __nsThunk50, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "area", "area(of:)", "t5>f64", __nsThunk51, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "bump", "bump(_:)", "&i64>v", __nsThunk52, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "echo", "echo(_:)", "t18>t18", __nsThunk53, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "flip", "flip(_:)", "e0>e0", __nsThunk54, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "host", "host(of:)", "U>s?", __nsThunk55, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "ramp", "ramp(_:)", "i64>B", __nsThunk56, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "tags", "tags(_:)", "[@UIView]>[i64]", __nsThunk57, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "text", "text(of:)", "@SwiftDemo.Note>s", __nsThunk58, nil) + registerMember(registrar, 10, 3, 0, "SwiftDemo", "description", "description", ">s", __nsThunk59, nil) + registerMember(registrar, 10, 0, 0, "SwiftDemo", "constructor", "init(x:y:)", "f64,f64>o10", __nsThunk60, nil) + registerMember(registrar, 10, 3, 2, "SwiftDemo", "x", "x", ">f64", __nsThunk61, __nsThunk62) + registerMember(registrar, 10, 3, 2, "SwiftDemo", "y", "y", ">f64", __nsThunk63, __nsThunk64) + registerMember(registrar, 10, 3, 0, "SwiftDemo", "length", "length", ">f64", __nsThunk65, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "clear", "clear(_:)", "&s?>v", __nsThunk66, nil) + registerMember(registrar, -1, 5, 1, "SwiftDemo", "halve", "halve(_:)", "&i64>v", __nsThunk67, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "names", "names(_:)", "i64>[s]", __nsThunk68, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "shout", "shout(_:)", "s?>s?", __nsThunk69, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "total", "total(_:)", "[f64]>f64", __nsThunk70, nil) + registerMember(registrar, 11, 0, 16, "SwiftDemo", "constructor", "init()", ">o11", __nsThunk71, nil) + registerMember(registrar, 12, 3, 0, "SwiftDemo", "description", "description", ">s", __nsThunk72, nil) + registerMember(registrar, 12, 7, 0, "SwiftDemo", "vanilla", "vanilla", ">e12", nil, nil) + registerMember(registrar, 12, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "i64>e12?", __nsThunk73, nil) + registerMember(registrar, 12, 7, 0, "SwiftDemo", "chocolate", "chocolate", ">e12", nil, nil) + registerMember(registrar, 13, 1, 0, "SwiftDemo", "modernOnly", "modernOnly()", ">v", __nsThunk74, nil) + registerMember(registrar, 13, 1, 0, "SwiftDemo", "legacyFetch", "legacyFetch()", ">v", __nsThunk75, nil) + registerMember(registrar, 13, 1, 0, "SwiftDemo", "each", "each(_:)", "(i64)>v", __nsThunk76, nil) + registerMember(registrar, 13, 1, 1, "SwiftDemo", "load", "load(path:)", "s>B", __nsThunk77, nil) + registerMember(registrar, 13, 1, 8, "SwiftDemo", "wait", "wait(seconds:)", "f64>v", __nsThunk78, nil) + registerMember(registrar, 13, 1, 9, "SwiftDemo", "fetch", "fetch(url:)", "U>s", __nsThunk79, nil) + registerMember(registrar, 13, 1, 0, "SwiftDemo", "lookup", "lookup(table:key:)", "{i64},s>i64?", __nsThunk80, nil) + registerMember(registrar, 13, 1, 0, "SwiftDemo", "update", "update(_:)", "&o10>v", __nsThunk81, nil) + registerMember(registrar, 13, 1, 0, "SwiftDemo", "oldFetch", "oldFetch()", ">v", __nsThunk82, nil) + registerMember(registrar, 13, 0, 0, "SwiftDemo", "constructor", "init()", ">o13", __nsThunk83, nil) + registerMember(registrar, 14, 3, 0, "SwiftDemo", "area", "area", ">f64", __nsThunk84, nil) + registerMember(registrar, 14, 0, 0, "SwiftDemo", "constructor", "init(side:)", "f64>o14", __nsThunk85, nil) + registerMember(registrar, 14, 3, 2, "SwiftDemo", "side", "side", ">f64", __nsThunk86, __nsThunk87) + registerMember(registrar, 14, 1, 0, "SwiftDemo", "greet", "greet(name:)", "s>s", __nsThunk88, nil) + registerMember(registrar, 14, 1, 0, "SwiftDemo", "scale", "scale(by:)", "f64>v", __nsThunk89, nil) + registerMember(registrar, 14, 4, 0, "SwiftDemo", "sides", "sides", ">i64", __nsThunk90, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "append", "append(_:to:)", "s,&[s]>v", __nsThunk91, nil) + registerMember(registrar, 15, 3, 8, "SwiftDemo", "step", "step", ">i64", __nsThunk92, nil) + registerMember(registrar, 15, 1, 0, "SwiftDemo", "label", "label()", ">s", __nsThunk93, nil) + registerMember(registrar, 15, 3, 8, "SwiftDemo", "value", "value", ">i64", __nsThunk94, nil) + registerMember(registrar, 15, 1, 8, "SwiftDemo", "increment", "increment()", ">i64", __nsThunk95, nil) + registerMember(registrar, 15, 0, 0, "SwiftDemo", "constructor", "init()", ">o15", __nsThunk96, nil) + registerMember(registrar, 16, 7, 0, "SwiftDemo", "sum", "sum(_:_:)", "t16,t16>t16", nil, nil) + registerMember(registrar, 16, 3, 0, "SwiftDemo", "value", "value", ">f64", __nsThunk97, nil) + registerMember(registrar, 16, 7, 0, "SwiftDemo", "negate", "negate(_:)", "t16>t16", nil, nil) + registerMember(registrar, 16, 7, 0, "SwiftDemo", "number", "number(_:)", "f64>t16", nil, nil) + registerMember(registrar, 17, 1, 8, "SwiftDemo", "strokeLater", "strokeLater()", ">i64", __nsThunk98, nil) + registerMember(registrar, 17, 1, 16, "SwiftDemo", "stroke", "stroke()", ">i64", __nsThunk99, nil) + registerMember(registrar, 17, 3, 16, "SwiftDemo", "strokes", "strokes", ">i64", __nsThunk100, nil) + registerMember(registrar, 17, 0, 16, "SwiftDemo", "constructor", "init()", ">o17", __nsThunk101, nil) + registerMember(registrar, 18, 7, 0, "SwiftDemo", "maybe", "maybe(_:)", "i64?>t18", nil, nil) + registerMember(registrar, 18, 7, 0, "SwiftDemo", "names", "names(_:)", "[s]>t18", nil, nil) + registerMember(registrar, 18, 7, 0, "SwiftDemo", "point", "point(_:)", "o10>t18", nil, nil) + registerMember(registrar, 18, 7, 0, "SwiftDemo", "flavor", "flavor(_:)", "e12>t18", nil, nil) + registerMember(registrar, 18, 7, 0, "SwiftDemo", "tracker", "tracker(_:)", "o22>t18", nil, nil) + registerMember(registrar, 19, 3, 0, "SwiftDemo", "vertexCount", "vertexCount", ">i64", __nsThunk102, nil) + registerMember(registrar, 19, 2, 0, "SwiftDemo", "make", "make()", ">o19", __nsThunk103, nil) + registerMember(registrar, 19, 0, 0, "SwiftDemo", "constructor", "init(name:vertexCount:)", "s,i64>o19", __nsThunk104, nil) + registerMember(registrar, 19, 0, 0, "SwiftDemo", "constructor", "init(name:)", "s>o19?", __nsThunk105, nil) + registerMember(registrar, 19, 3, 0, "SwiftDemo", "name", "name", ">s", __nsThunk106, nil) + registerMember(registrar, 20, 7, 0, "SwiftDemo", "solid", "solid", ">e20", nil, nil) + registerMember(registrar, 20, 7, 0, "SwiftDemo", "dashed", "dashed", ">e20", nil, nil) + registerMember(registrar, 20, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "s>e20?", __nsThunk107, nil) + registerMember(registrar, 19, 1, 0, "SwiftDemo", "scale", "scale(x:y:)", "f64,f64>v", __nsThunk108, nil) + registerMember(registrar, 19, 1, 4, "SwiftDemo", "scale", "scale(by:)", "f64>v", __nsThunk109, nil) + registerMember(registrar, 19, 1, 4, "SwiftDemo", "scale", "scale(by:)", "i64>v", __nsThunk110, nil) + registerMember(registrar, 19, 3, 0, "SwiftDemo", "style", "style", ">e20", __nsThunk111, nil) + registerMember(registrar, 19, 4, 0, "SwiftDemo", "shared", "shared", ">o19", __nsThunk112, nil) + registerMember(registrar, 21, 0, 0, "SwiftDemo", "constructor", "init(perimeter:)", "f64>o21", __nsThunk113, nil) + registerMember(registrar, 21, 3, 2, "SwiftDemo", "perimeter", "perimeter", ">f64", __nsThunk114, __nsThunk115) + registerMember(registrar, 19, 1, 0, "SwiftDemo", "metrics", "metrics(side:)", "f64>o21", __nsThunk116, nil) + registerMember(registrar, 19, 2, 0, "SwiftDemo", "describe", "describe(_:)", "o19?>s", __nsThunk117, nil) + registerMember(registrar, 22, 0, 0, "SwiftDemo", "constructor", "init(id:)", "i64>o22", __nsThunk118, nil) + registerMember(registrar, 22, 3, 0, "SwiftDemo", "id", "id", ">i64", __nsThunk119, nil) + registerMember(registrar, 22, 1, 0, "SwiftDemo", "same", "same()", ">o22", __nsThunk120, nil) + registerMember(registrar, 22, 4, 0, "SwiftDemo", "liveCount", "liveCount", ">i64", __nsThunk121, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "explain", "explain(_:)", "t4>s", __nsThunk122, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "lengths", "lengths(_:)", "{s}>{i64}", __nsThunk123, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "measure", "measure(_:by:)", "f64,f64?>t5", __nsThunk124, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "nextDay", "nextDay(after:)", "D>D", __nsThunk125, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "resolve", "resolve(_:against:)", "s,U>U", __nsThunk126, nil) + registerMember(registrar, 23, 1, 0, "SwiftDemo", "publishLater", "publishLater(_:)", "s>v", __nsThunk127, nil) + registerMember(registrar, 23, 1, 0, "SwiftDemo", "clear", "clear()", ">v", __nsThunk128, nil) + registerMember(registrar, 23, 3, 0, "SwiftDemo", "count", "count", ">i64", __nsThunk129, nil) + registerMember(registrar, 23, 1, 0, "SwiftDemo", "publish", "publish(_:)", "s>v", __nsThunk130, nil) + registerMember(registrar, 23, 1, 0, "SwiftDemo", "subscribe", "subscribe(_:)", "(s)>v", __nsThunk131, nil) + registerMember(registrar, 23, 0, 0, "SwiftDemo", "constructor", "init()", ">o23", __nsThunk132, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "centroid", "centroid(of:)", "[o10]>o10", __nsThunk133, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "checksum", "checksum(_:)", "B>i64", __nsThunk134, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "describe", "describe(_:)", "@UIView>s", __nsThunk135, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "echoInt8", "echoInt8(_:)", "i8>i8", __nsThunk136, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeNote", "makeNote(_:)", "s>@SwiftDemo.Note", __nsThunk137, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "mirrored", "mirrored(_:)", "[[i64]]>[[i64]]", __nsThunk138, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "simplify", "simplify(_:)", "t16>t16", __nsThunk139, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "trackers", "trackers(_:)", "[i64]>[o22]", __nsThunk140, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "countdown", "countdown(from:_:)", "i64,(i64,b)>v", __nsThunk141, nil) + registerMember(registrar, -1, 5, 16, "SwiftDemo", "makeLabel", "makeLabel(_:)", "s>@UILabel", __nsThunk142, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "noteLater", "noteLater(_:)", "s>@SwiftDemo.Note", __nsThunk143, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "onMeasure", "onMeasure(_:)", "(t5)>v", __nsThunk144, nil) + registerMember(registrar, 7, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk145, nil) + registerMember(registrar, 12, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk146, nil) + registerMember(registrar, 20, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk147, nil) + registerMember(registrar, 4, 3, 0, "SwiftDemo", "localizedDescription", "localizedDescription", ">s", __nsThunk148, nil) +} + #if hasAttribute(c) @c(ns_swift_register_SwiftDemo) #else @_cdecl("ns_swift_register_SwiftDemo") #endif public func __nsRegister_SwiftDemo(_ registrar: UnsafeMutableRawPointer) { - let api = registrar.load(as: UnsafeRawPointer.self) - let registerModule = api.load(fromByteOffset: 80, as: (@convention(c) (UnsafeMutableRawPointer, UInt32, UnsafePointer, UnsafePointer, __NSRelease) -> Void).self) - let registerType = api.load(fromByteOffset: 88, as: (@convention(c) (UnsafeMutableRawPointer, UInt32, UInt32, UnsafePointer, UnsafePointer, Int32) -> Void).self) - let registerMember = api.load(fromByteOffset: 96, as: (@convention(c) (UnsafeMutableRawPointer, Int32, UInt32, UInt32, UnsafePointer, UnsafePointer, UnsafePointer, __NSThunk?, __NSThunk?) -> Void).self) - - registerModule(registrar, 7, "SwiftDemo", "40e57783a9253a14", __nsRelease) - registerType(registrar, 0, 0, "Demo", "SwiftDemo.Demo", -1) - registerType(registrar, 1, 4, "ShapeError", "SwiftDemo.ShapeError", -1) - registerType(registrar, 2, 4, "Measurement", "SwiftDemo.Measurement", -1) - registerType(registrar, 3, 2, "Measurement.Unit", "SwiftDemo.Measurement.Unit", -1) - registerType(registrar, 4, 3, "Precipitation", "SwiftDemo.Precipitation", -1) - registerType(registrar, 5, 2, "Job.Ticket", "SwiftDemo.Job.Ticket", -1) - registerType(registrar, 6, 2, "Ring", "SwiftDemo.Ring", -1) - registerType(registrar, 7, 2, "Point", "SwiftDemo.Point", -1) - registerType(registrar, 8, 0, "Canvas", "SwiftDemo.Canvas", -1) - registerType(registrar, 9, 3, "Flavor", "SwiftDemo.Flavor", -1) - registerType(registrar, 10, 0, "Loader", "SwiftDemo.Loader", -1) - registerType(registrar, 11, 0, "Square", "SwiftDemo.Square", 16) - registerType(registrar, 12, 1, "Counter", "SwiftDemo.Counter", -1) - registerType(registrar, 13, 4, "Formula", "SwiftDemo.Formula", -1) - registerType(registrar, 14, 0, "Palette", "SwiftDemo.Palette", -1) - registerType(registrar, 15, 4, "Payload", "SwiftDemo.Payload", -1) - registerType(registrar, 16, 0, "Polygon", "SwiftDemo.Polygon", -1) - registerType(registrar, 17, 3, "Polygon.Style", "SwiftDemo.Polygon.Style", -1) - registerType(registrar, 18, 2, "Polygon.Metrics", "SwiftDemo.Polygon.Metrics", -1) - registerType(registrar, 19, 0, "Tracker", "SwiftDemo.Tracker", -1) - registerType(registrar, 20, 0, "Notifier", "SwiftDemo.Notifier", -1) - registerMember(registrar, 0, 1, 0, "greet", "greet(name:times:)", "s,i64>s", __nsThunk0, nil) - registerMember(registrar, 0, 1, 0, "greet", "greet(name:)", "s>s", __nsThunk1, nil) - registerMember(registrar, 0, 4, 0, "version", "version", ">s", __nsThunk2, nil) - registerMember(registrar, 0, 0, 0, "constructor", "init()", ">o0", __nsThunk3, nil) - registerMember(registrar, 1, 7, 0, "invalidSide", "invalidSide(_:)", "f64>t1", nil, nil) - registerMember(registrar, 1, 7, 0, "tooManySides", "tooManySides(count:limit:)", "i64,i64>t1", nil, nil) - registerMember(registrar, 1, 7, 0, "unknown", "unknown", ">t1", nil, nil) - registerMember(registrar, -1, 5, 0, "allFlavors", "allFlavors()", ">[e9]", __nsThunk4, nil) - registerMember(registrar, -1, 5, 0, "echoUInt64", "echoUInt64(_:)", "u64>u64", __nsThunk5, nil) - registerMember(registrar, -1, 5, 0, "greetLater", "greetLater(_:completion:)", "s?,(s?)>v", __nsThunk6, nil) - registerMember(registrar, -1, 5, 0, "largestInt", "largestInt()", ">i64", __nsThunk7, nil) - registerMember(registrar, -1, 5, 8, "namesLater", "namesLater(_:)", "i64>[s]", __nsThunk8, nil) - registerMember(registrar, -1, 5, 0, "wordCounts", "wordCounts(_:)", "[s]>{i64}", __nsThunk9, nil) - registerMember(registrar, 3, 0, 0, "constructor", "init(symbol:)", "s>o3", __nsThunk10, nil) - registerMember(registrar, 3, 3, 2, "symbol", "symbol", ">s", __nsThunk11, __nsThunk12) - registerMember(registrar, 2, 7, 0, "area", "area(width:height:)", "f64,f64>t2", nil, nil) - registerMember(registrar, 2, 7, 0, "none", "none", ">t2", nil, nil) - registerMember(registrar, 2, 3, 0, "isNone", "isNone", ">b", __nsThunk13, nil) - registerMember(registrar, 2, 7, 0, "length", "length(_:)", "f64>t2", nil, nil) - registerMember(registrar, -1, 5, 1, "checkedSide", "checkedSide(_:)", "f64>f64", __nsThunk14, nil) - registerMember(registrar, -1, 5, 9, "delayedEcho", "delayedEcho(_:after:)", "s,f64>s", __nsThunk15, nil) - registerMember(registrar, -1, 5, 0, "firstSubview", "firstSubview(of:)", "@UIView>@UIView?", __nsThunk16, nil) - registerMember(registrar, -1, 5, 8, "measureLater", "measureLater(_:)", "f64>t2", __nsThunk17, nil) - registerMember(registrar, -1, 5, 0, "measurements", "measurements()", ">[t2]", __nsThunk18, nil) - registerMember(registrar, -1, 5, 0, "swapTrackers", "swapTrackers(_:_:)", "&o19,&o19>v", __nsThunk19, nil) - registerMember(registrar, 4, 7, 0, "none", "none", ">e4", nil, nil) - registerMember(registrar, 4, 7, 0, "rain", "rain", ">e4", nil, nil) - registerMember(registrar, 4, 7, 0, "snow", "snow", ">e4", nil, nil) - registerMember(registrar, 4, 0, 0, "constructor", "init(rawValue:)", "s>e4?", __nsThunk20, nil) - registerMember(registrar, -1, 6, 0, "defaultFlavor", "defaultFlavor", ">e9", __nsThunk21, nil) - registerMember(registrar, -1, 6, 2, "globalCounter", "globalCounter", ">i64", __nsThunk22, __nsThunk23) - registerMember(registrar, -1, 5, 0, "makeDefaultPoint", "makeDefaultPoint()", ">o7", __nsThunk24, nil) - registerMember(registrar, -1, 5, 8, "makeTrackerLater", "makeTrackerLater(id:)", "i64>o19", __nsThunk25, nil) - registerMember(registrar, 5, 0, 0, "constructor", "init(id:)", "i64>o5", __nsThunk26, nil) - registerMember(registrar, 5, 3, 2, "id", "id", ">i64", __nsThunk27, __nsThunk28) - registerMember(registrar, 6, 0, 0, "constructor", "init(inner:outer:)", "o7,o7>o6", __nsThunk29, nil) - registerMember(registrar, 6, 3, 2, "inner", "inner", ">o7", __nsThunk30, __nsThunk31) - registerMember(registrar, 6, 3, 2, "outer", "outer", ">o7", __nsThunk32, __nsThunk33) - registerMember(registrar, 6, 1, 0, "expand", "expand(by:)", "f64>v", __nsThunk34, nil) - registerMember(registrar, -1, 5, 0, "area", "area(of:)", "t2>f64", __nsThunk35, nil) - registerMember(registrar, -1, 5, 0, "bump", "bump(_:)", "&i64>v", __nsThunk36, nil) - registerMember(registrar, -1, 5, 0, "echo", "echo(_:)", "t15>t15", __nsThunk37, nil) - registerMember(registrar, -1, 5, 0, "host", "host(of:)", "U>s?", __nsThunk38, nil) - registerMember(registrar, -1, 5, 0, "ramp", "ramp(_:)", "i64>B", __nsThunk39, nil) - registerMember(registrar, -1, 5, 0, "tags", "tags(_:)", "[@UIView]>[i64]", __nsThunk40, nil) - registerMember(registrar, -1, 5, 0, "text", "text(of:)", "@SwiftDemo.Note>s", __nsThunk41, nil) - registerMember(registrar, 7, 3, 0, "description", "description", ">s", __nsThunk42, nil) - registerMember(registrar, 7, 0, 0, "constructor", "init(x:y:)", "f64,f64>o7", __nsThunk43, nil) - registerMember(registrar, 7, 3, 2, "x", "x", ">f64", __nsThunk44, __nsThunk45) - registerMember(registrar, 7, 3, 2, "y", "y", ">f64", __nsThunk46, __nsThunk47) - registerMember(registrar, 7, 3, 0, "length", "length", ">f64", __nsThunk48, nil) - registerMember(registrar, -1, 5, 0, "clear", "clear(_:)", "&s?>v", __nsThunk49, nil) - registerMember(registrar, -1, 5, 1, "halve", "halve(_:)", "&i64>v", __nsThunk50, nil) - registerMember(registrar, -1, 5, 0, "names", "names(_:)", "i64>[s]", __nsThunk51, nil) - registerMember(registrar, -1, 5, 0, "shout", "shout(_:)", "s?>s?", __nsThunk52, nil) - registerMember(registrar, -1, 5, 0, "total", "total(_:)", "[f64]>f64", __nsThunk53, nil) - registerMember(registrar, 8, 0, 16, "constructor", "init()", ">o8", __nsThunk54, nil) - registerMember(registrar, 9, 3, 0, "description", "description", ">s", __nsThunk55, nil) - registerMember(registrar, 9, 7, 0, "vanilla", "vanilla", ">e9", nil, nil) - registerMember(registrar, 9, 0, 0, "constructor", "init(rawValue:)", "i64>e9?", __nsThunk56, nil) - registerMember(registrar, 9, 7, 0, "chocolate", "chocolate", ">e9", nil, nil) - registerMember(registrar, 10, 1, 0, "modernOnly", "modernOnly()", ">v", __nsThunk57, nil) - registerMember(registrar, 10, 1, 0, "legacyFetch", "legacyFetch()", ">v", __nsThunk58, nil) - registerMember(registrar, 10, 1, 0, "each", "each(_:)", "(i64)>v", __nsThunk59, nil) - registerMember(registrar, 10, 1, 1, "load", "load(path:)", "s>B", __nsThunk60, nil) - registerMember(registrar, 10, 1, 8, "wait", "wait(seconds:)", "f64>v", __nsThunk61, nil) - registerMember(registrar, 10, 1, 9, "fetch", "fetch(url:)", "U>s", __nsThunk62, nil) - registerMember(registrar, 10, 1, 0, "lookup", "lookup(table:key:)", "{i64},s>i64?", __nsThunk63, nil) - registerMember(registrar, 10, 1, 0, "update", "update(_:)", "&o7>v", __nsThunk64, nil) - registerMember(registrar, 10, 1, 0, "oldFetch", "oldFetch()", ">v", __nsThunk65, nil) - registerMember(registrar, 10, 0, 0, "constructor", "init()", ">o10", __nsThunk66, nil) - registerMember(registrar, 11, 3, 0, "area", "area", ">f64", __nsThunk67, nil) - registerMember(registrar, 11, 0, 0, "constructor", "init(side:)", "f64>o11", __nsThunk68, nil) - registerMember(registrar, 11, 3, 2, "side", "side", ">f64", __nsThunk69, __nsThunk70) - registerMember(registrar, 11, 1, 0, "greet", "greet(name:)", "s>s", __nsThunk71, nil) - registerMember(registrar, 11, 1, 0, "scale", "scale(by:)", "f64>v", __nsThunk72, nil) - registerMember(registrar, 11, 4, 0, "sides", "sides", ">i64", __nsThunk73, nil) - registerMember(registrar, -1, 5, 0, "append", "append(_:to:)", "s,&[s]>v", __nsThunk74, nil) - registerMember(registrar, 12, 3, 8, "step", "step", ">i64", __nsThunk75, nil) - registerMember(registrar, 12, 1, 0, "label", "label()", ">s", __nsThunk76, nil) - registerMember(registrar, 12, 3, 8, "value", "value", ">i64", __nsThunk77, nil) - registerMember(registrar, 12, 1, 8, "increment", "increment()", ">i64", __nsThunk78, nil) - registerMember(registrar, 12, 0, 0, "constructor", "init()", ">o12", __nsThunk79, nil) - registerMember(registrar, 13, 7, 0, "sum", "sum(_:_:)", "t13,t13>t13", nil, nil) - registerMember(registrar, 13, 3, 0, "value", "value", ">f64", __nsThunk80, nil) - registerMember(registrar, 13, 7, 0, "negate", "negate(_:)", "t13>t13", nil, nil) - registerMember(registrar, 13, 7, 0, "number", "number(_:)", "f64>t13", nil, nil) - registerMember(registrar, 14, 1, 8, "strokeLater", "strokeLater()", ">i64", __nsThunk81, nil) - registerMember(registrar, 14, 1, 16, "stroke", "stroke()", ">i64", __nsThunk82, nil) - registerMember(registrar, 14, 3, 16, "strokes", "strokes", ">i64", __nsThunk83, nil) - registerMember(registrar, 14, 0, 16, "constructor", "init()", ">o14", __nsThunk84, nil) - registerMember(registrar, 15, 7, 0, "maybe", "maybe(_:)", "i64?>t15", nil, nil) - registerMember(registrar, 15, 7, 0, "names", "names(_:)", "[s]>t15", nil, nil) - registerMember(registrar, 15, 7, 0, "point", "point(_:)", "o7>t15", nil, nil) - registerMember(registrar, 15, 7, 0, "flavor", "flavor(_:)", "e9>t15", nil, nil) - registerMember(registrar, 15, 7, 0, "tracker", "tracker(_:)", "o19>t15", nil, nil) - registerMember(registrar, 16, 3, 0, "vertexCount", "vertexCount", ">i64", __nsThunk85, nil) - registerMember(registrar, 16, 2, 0, "make", "make()", ">o16", __nsThunk86, nil) - registerMember(registrar, 16, 0, 0, "constructor", "init(name:vertexCount:)", "s,i64>o16", __nsThunk87, nil) - registerMember(registrar, 16, 0, 0, "constructor", "init(name:)", "s>o16?", __nsThunk88, nil) - registerMember(registrar, 16, 3, 0, "name", "name", ">s", __nsThunk89, nil) - registerMember(registrar, 17, 7, 0, "solid", "solid", ">e17", nil, nil) - registerMember(registrar, 17, 7, 0, "dashed", "dashed", ">e17", nil, nil) - registerMember(registrar, 17, 0, 0, "constructor", "init(rawValue:)", "s>e17?", __nsThunk90, nil) - registerMember(registrar, 16, 1, 0, "scale", "scale(x:y:)", "f64,f64>v", __nsThunk91, nil) - registerMember(registrar, 16, 1, 4, "scale", "scale(by:)", "f64>v", __nsThunk92, nil) - registerMember(registrar, 16, 1, 4, "scale", "scale(by:)", "i64>v", __nsThunk93, nil) - registerMember(registrar, 16, 3, 0, "style", "style", ">e17", __nsThunk94, nil) - registerMember(registrar, 16, 4, 0, "shared", "shared", ">o16", __nsThunk95, nil) - registerMember(registrar, 18, 0, 0, "constructor", "init(perimeter:)", "f64>o18", __nsThunk96, nil) - registerMember(registrar, 18, 3, 2, "perimeter", "perimeter", ">f64", __nsThunk97, __nsThunk98) - registerMember(registrar, 16, 1, 0, "metrics", "metrics(side:)", "f64>o18", __nsThunk99, nil) - registerMember(registrar, 16, 2, 0, "describe", "describe(_:)", "o16?>s", __nsThunk100, nil) - registerMember(registrar, 19, 0, 0, "constructor", "init(id:)", "i64>o19", __nsThunk101, nil) - registerMember(registrar, 19, 3, 0, "id", "id", ">i64", __nsThunk102, nil) - registerMember(registrar, 19, 1, 0, "same", "same()", ">o19", __nsThunk103, nil) - registerMember(registrar, 19, 4, 0, "liveCount", "liveCount", ">i64", __nsThunk104, nil) - registerMember(registrar, -1, 5, 0, "explain", "explain(_:)", "t1>s", __nsThunk105, nil) - registerMember(registrar, -1, 5, 0, "lengths", "lengths(_:)", "{s}>{i64}", __nsThunk106, nil) - registerMember(registrar, -1, 5, 0, "measure", "measure(_:by:)", "f64,f64?>t2", __nsThunk107, nil) - registerMember(registrar, -1, 5, 0, "nextDay", "nextDay(after:)", "D>D", __nsThunk108, nil) - registerMember(registrar, -1, 5, 0, "resolve", "resolve(_:against:)", "s,U>U", __nsThunk109, nil) - registerMember(registrar, 20, 1, 0, "publishLater", "publishLater(_:)", "s>v", __nsThunk110, nil) - registerMember(registrar, 20, 1, 0, "clear", "clear()", ">v", __nsThunk111, nil) - registerMember(registrar, 20, 3, 0, "count", "count", ">i64", __nsThunk112, nil) - registerMember(registrar, 20, 1, 0, "publish", "publish(_:)", "s>v", __nsThunk113, nil) - registerMember(registrar, 20, 1, 0, "subscribe", "subscribe(_:)", "(s)>v", __nsThunk114, nil) - registerMember(registrar, 20, 0, 0, "constructor", "init()", ">o20", __nsThunk115, nil) - registerMember(registrar, -1, 5, 0, "centroid", "centroid(of:)", "[o7]>o7", __nsThunk116, nil) - registerMember(registrar, -1, 5, 0, "checksum", "checksum(_:)", "B>i64", __nsThunk117, nil) - registerMember(registrar, -1, 5, 0, "describe", "describe(_:)", "@UIView>s", __nsThunk118, nil) - registerMember(registrar, -1, 5, 0, "echoInt8", "echoInt8(_:)", "i8>i8", __nsThunk119, nil) - registerMember(registrar, -1, 5, 0, "makeNote", "makeNote(_:)", "s>@SwiftDemo.Note", __nsThunk120, nil) - registerMember(registrar, -1, 5, 0, "mirrored", "mirrored(_:)", "[[i64]]>[[i64]]", __nsThunk121, nil) - registerMember(registrar, -1, 5, 0, "simplify", "simplify(_:)", "t13>t13", __nsThunk122, nil) - registerMember(registrar, -1, 5, 0, "trackers", "trackers(_:)", "[i64]>[o19]", __nsThunk123, nil) - registerMember(registrar, -1, 5, 0, "countdown", "countdown(from:_:)", "i64,(i64,b)>v", __nsThunk124, nil) - registerMember(registrar, -1, 5, 16, "makeLabel", "makeLabel(_:)", "s>@UILabel", __nsThunk125, nil) - registerMember(registrar, -1, 5, 8, "noteLater", "noteLater(_:)", "s>@SwiftDemo.Note", __nsThunk126, nil) - registerMember(registrar, -1, 5, 0, "onMeasure", "onMeasure(_:)", "(t2)>v", __nsThunk127, nil) - registerMember(registrar, 4, 3, 0, "hashValue", "hashValue", ">i64", __nsThunk128, nil) - registerMember(registrar, 9, 3, 0, "hashValue", "hashValue", ">i64", __nsThunk129, nil) - registerMember(registrar, 17, 3, 0, "hashValue", "hashValue", ">i64", __nsThunk130, nil) - registerMember(registrar, 1, 3, 0, "localizedDescription", "localizedDescription", ">s", __nsThunk131, nil) + __nsRegister(registrar) +} + +#if hasAttribute(c) +@c(ns_swift_register_SwiftDemoKit) +#else +@_cdecl("ns_swift_register_SwiftDemoKit") +#endif +public func __nsRegister_SwiftDemoKit(_ registrar: UnsafeMutableRawPointer) { + __nsRegister(registrar) } diff --git a/metadata-generator/TestFixtures/SwiftDemo/Package.swift b/metadata-generator/TestFixtures/SwiftDemo/Package.swift index 6ddba2a1..a48ed6ef 100644 --- a/metadata-generator/TestFixtures/SwiftDemo/Package.swift +++ b/metadata-generator/TestFixtures/SwiftDemo/Package.swift @@ -11,7 +11,8 @@ let package = Package( .library(name: "SwiftDemoInterop", targets: ["SwiftDemoInterop"]), ], targets: [ - .target(name: "SwiftDemo", path: "Sources/SwiftDemo"), - .target(name: "SwiftDemoInterop", dependencies: ["SwiftDemo"], path: "Interop"), + .target(name: "SwiftDemoKit", path: "Sources/SwiftDemoKit"), + .target(name: "SwiftDemo", dependencies: ["SwiftDemoKit"], path: "Sources/SwiftDemo"), + .target(name: "SwiftDemoInterop", dependencies: ["SwiftDemo", "SwiftDemoKit"], path: "Interop"), ] ) diff --git a/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Purse.swift b/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Purse.swift new file mode 100644 index 00000000..ad0d8bb6 --- /dev/null +++ b/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Purse.swift @@ -0,0 +1,24 @@ +// Declarations using and extending SwiftDemoKit's types. + +import SwiftDemoKit + +public func starterWallet(for owner: String) -> Wallet { + let wallet = Wallet(owner: owner) + wallet.deposit(Money(amount: 5, currency: "EUR")) + return wallet +} + +public func sum(of amounts: [Money]) -> Money { + amounts.reduce(Money(amount: 0, currency: "EUR")) { $0.adding($1) } +} + +public func flip(_ coin: Coin) -> Coin { coin == .penny ? .dime : .penny } + +extension Money { + public var isZero: Bool { amount == 0 } + public func doubled() -> Money { adding(self) } +} + +extension Wallet { + public func summary() -> String { "\(owner): \(formatted(balance))" } +} diff --git a/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemoKit/Money.swift b/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemoKit/Money.swift new file mode 100644 index 00000000..e9717443 --- /dev/null +++ b/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemoKit/Money.swift @@ -0,0 +1,34 @@ +// A second module SwiftDemo imports: its types appear in SwiftDemo's +// signatures, and SwiftDemo extends them. + +public struct Money { + public var amount: Int + public var currency: String + + public init(amount: Int, currency: String) { + self.amount = amount + self.currency = currency + } + + public func adding(_ other: Money) -> Money { + Money(amount: amount + other.amount, currency: currency) + } +} + +public final class Wallet { + public let owner: String + public private(set) var balance: Money + + public init(owner: String) { + self.owner = owner + balance = Money(amount: 0, currency: "EUR") + } + + public func deposit(_ money: Money) { balance = balance.adding(money) } +} + +public enum Coin { + case penny, dime +} + +public func formatted(_ money: Money) -> String { "\(money.amount) \(money.currency)" } diff --git a/metadata-generator/TestFixtures/SwiftDemo/generate-symbolgraphs.sh b/metadata-generator/TestFixtures/SwiftDemo/generate-symbolgraphs.sh index d62314f8..577e295f 100755 --- a/metadata-generator/TestFixtures/SwiftDemo/generate-symbolgraphs.sh +++ b/metadata-generator/TestFixtures/SwiftDemo/generate-symbolgraphs.sh @@ -13,6 +13,18 @@ SDK_PATH="$(xcrun --sdk iphonesimulator --show-sdk-path)" xcrun swiftc \ -emit-module \ + -emit-module-path "$WORK_DIR/SwiftDemoKit.swiftmodule" \ + -emit-symbol-graph \ + -emit-symbol-graph-dir "$WORK_DIR" \ + -symbol-graph-minimum-access-level public \ + -module-name SwiftDemoKit \ + -target arm64-apple-ios15.0-simulator \ + -sdk "$SDK_PATH" \ + "$FIXTURE_DIR"/Sources/SwiftDemoKit/*.swift + +xcrun swiftc \ + -emit-module \ + -I "$WORK_DIR" \ -emit-module-path "$WORK_DIR/SwiftDemo.swiftmodule" \ -emit-symbol-graph \ -emit-symbol-graph-dir "$WORK_DIR" \ diff --git a/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo.symbols.json b/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo.symbols.json index d9cfe0a5..4aa72058 100644 --- a/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo.symbols.json +++ b/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo.symbols.json @@ -1 +1 @@ -{"metadata":{"formatVersion":{"major":0,"minor":6,"patch":0},"generator":"Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)"},"module":{"name":"SwiftDemo","platform":{"architecture":"arm64","environment":"simulator","vendor":"apple","operatingSystem":{"name":"ios","minimumVersion":{"major":15,"minor":0}}}},"symbols":[{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo7GreeterP","interfaceLanguage":"swift"},"pathComponents":["Greeter"],"names":{"title":"Greeter","navigator":[{"kind":"identifier","spelling":"Greeter"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeter"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeter"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":0,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Greeter","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":1,"character":9}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo0B0C","interfaceLanguage":"swift"},"pathComponents":["Demo"],"names":{"title":"Demo","navigator":[{"kind":"identifier","spelling":"Demo"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Demo"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Demo"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":4,"character":13}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo0B0CACycfc","interfaceLanguage":"swift"},"pathComponents":["Demo","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":5,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo0B0C5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Demo","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":6,"character":16}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo5PointV","interfaceLanguage":"swift"},"pathComponents":["Point"],"names":{"title":"Point","navigator":[{"kind":"identifier","spelling":"Point"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Point"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Point"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":9,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV1xSdvp","interfaceLanguage":"swift"},"pathComponents":["Point","x"],"names":{"title":"x","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":10,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV1ySdvp","interfaceLanguage":"swift"},"pathComponents":["Point","y"],"names":{"title":"y","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":11,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo5PointV1x1yACSd_Sdtcfc","interfaceLanguage":"swift"},"pathComponents":["Point","init(x:y:)"],"names":{"title":"init(x:y:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"x","declarationFragments":[{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"y","declarationFragments":[{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":12,"character":11}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor"],"names":{"title":"Flavor","navigator":[{"kind":"identifier","spelling":"Flavor"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Flavor"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Flavor"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo6FlavorO7vanillayA2CmF","interfaceLanguage":"swift"},"pathComponents":["Flavor","vanilla"],"names":{"title":"Flavor.vanilla","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vanilla"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vanilla"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":31}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo6FlavorO9chocolateyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Flavor","chocolate"],"names":{"title":"Flavor.chocolate","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"chocolate"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"chocolate"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":44}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Flavor","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo0B0C5greet4name5timesS2S_SitF","interfaceLanguage":"swift"},"pathComponents":["Demo","greet(name:times:)"],"names":{"title":"greet(name:times:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"times","declarationFragments":[{"kind":"identifier","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":1,"character":16}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo0B0C7versionSSvpZ","interfaceLanguage":"swift"},"pathComponents":["Demo","version"],"names":{"title":"version","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":5,"character":22}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV11descriptionSSvp","interfaceLanguage":"swift"},"pathComponents":["Point","description"],"names":{"title":"description","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":9,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV6lengthSdvp","interfaceLanguage":"swift"},"pathComponents":["Point","length"],"names":{"title":"length","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":10,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6FlavorO11descriptionSSvp","interfaceLanguage":"swift"},"pathComponents":["Flavor","description"],"names":{"title":"description","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.enum"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":14,"character":15}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style"],"names":{"title":"Polygon.Style","navigator":[{"kind":"identifier","spelling":"Style"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Style"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Style"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","solid"],"names":{"title":"Polygon.Style.solid","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"solid"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"solid"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":37}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","dashed"],"names":{"title":"Polygon.Style.dashed","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dashed"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dashed"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":44}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics"],"names":{"title":"Polygon.Metrics","navigator":[{"kind":"identifier","spelling":"Metrics"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Metrics"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Metrics"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":33,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics","perimeter"],"names":{"title":"perimeter","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":34,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics","init(perimeter:)"],"names":{"title":"init(perimeter:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"perimeter","declarationFragments":[{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":35,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5styleAC5StyleOvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","style"],"names":{"title":"style","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"style"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Style","preciseIdentifier":"s:9SwiftDemo7PolygonC5StyleO"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"style"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Style","preciseIdentifier":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":38,"character":15}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","metrics(side:)"],"names":{"title":"metrics(side:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"metrics"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"."},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"metrics"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":39,"character":16}}},{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo5ShapeP","interfaceLanguage":"swift"},"pathComponents":["Shape"],"names":{"title":"Shape","navigator":[{"kind":"identifier","spelling":"Shape"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Shape"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Shape"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Greeter","preciseIdentifier":"s:9SwiftDemo7GreeterP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":2,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5ShapeP4areaSdvp","interfaceLanguage":"swift"},"pathComponents":["Shape","area"],"names":{"title":"area","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":3,"character":8}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo5ShapeP5sidesSivpZ","interfaceLanguage":"swift"},"pathComponents":["Shape","sides"],"names":{"title":"sides","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":4,"character":15}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7PolygonC","interfaceLanguage":"swift"},"pathComponents":["Polygon"],"names":{"title":"Polygon","navigator":[{"kind":"identifier","spelling":"Polygon"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Polygon"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Polygon"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":7,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4nameSSvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","name"],"names":{"title":"name","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":8,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC11vertexCountSivp","interfaceLanguage":"swift"},"pathComponents":["Polygon","vertexCount"],"names":{"title":"vertexCount","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":9,"character":28}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC6sharedACvpZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","shared"],"names":{"title":"shared","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shared"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shared"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":10,"character":22}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","init(name:vertexCount:)"],"names":{"title":"init(name:vertexCount:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"vertexCount","declarationFragments":[{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":12,"character":11}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4nameACSgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","init(name:)"],"names":{"title":"init(name:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"convenience"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":17,"character":23}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":22,"character":14}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale2byySi_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":23,"character":14}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(x:y:)"],"names":{"title":"scale(x:y:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"x","declarationFragments":[{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"y","declarationFragments":[{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":24,"character":16}}},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4makeACyFZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","make()"],"names":{"title":"make()","subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"make"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"make"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":26,"character":22}}},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC8describeySSACSgFZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"polygon","declarationFragments":[{"kind":"identifier","spelling":"polygon"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"polygon"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":27,"character":23}}},{"kind":{"identifier":"swift.subscript","displayName":"Instance Subscript"},"identifier":{"precise":"s:9SwiftDemo7PolygonCyAA5PointVSicip","interfaceLanguage":"swift"},"pathComponents":["Polygon","subscript(_:)"],"names":{"title":"subscript(_:)","subHeading":[{"kind":"keyword","spelling":"subscript"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"parameters":[{"name":"index","declarationFragments":[{"kind":"identifier","spelling":"index"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"subscript"},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"index"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":29,"character":11}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6SquareC","interfaceLanguage":"swift"},"pathComponents":["Square"],"names":{"title":"Square","navigator":[{"kind":"identifier","spelling":"Square"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Square"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Square"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":34,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC4sideSdvp","interfaceLanguage":"swift"},"pathComponents":["Square","side"],"names":{"title":"side","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":35,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6SquareC4sideACSd_tcfc","interfaceLanguage":"swift"},"pathComponents":["Square","init(side:)"],"names":{"title":"init(side:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":37,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC4areaSdvp","interfaceLanguage":"swift"},"pathComponents":["Square","area"],"names":{"title":"area","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":42,"character":15}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC5sidesSivpZ","interfaceLanguage":"swift"},"pathComponents":["Square","sides"],"names":{"title":"sides","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":43,"character":22}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6SquareC5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Square","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":44,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6SquareC5scale2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Square","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"override"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":46,"character":25}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation"],"names":{"title":"Precipitation","navigator":[{"kind":"identifier","spelling":"Precipitation"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Precipitation"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Precipitation"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":50,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4rainyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","rain"],"names":{"title":"Precipitation.rain","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rain"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rain"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4snowyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","snow"],"names":{"title":"Precipitation.snow","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"snow"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"snow"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":15}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4noneyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","none"],"names":{"title":"Precipitation.none","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":21}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Precipitation","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO","interfaceLanguage":"swift"},"pathComponents":["ShapeError"],"names":{"title":"ShapeError","navigator":[{"kind":"identifier","spelling":"ShapeError"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ShapeError"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ShapeError"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":54,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO","interfaceLanguage":"swift"},"pathComponents":["ShapeError","localizedDescription"],"names":{"title":"localizedDescription","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localizedDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"docComment":{"module":"Foundation","lines":[{"text":"Retrieve the localized description for this error."}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localizedDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":8,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":10}},{"domain":"tvOS","introduced":{"major":9,"minor":0}},{"domain":"watchOS","introduced":{"major":2,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","invalidSide(_:)"],"names":{"title":"ShapeError.invalidSide(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":55,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","tooManySides(count:limit:)"],"names":{"title":"ShapeError.tooManySides(count:limit:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tooManySides"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tooManySides"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":56,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO7unknownyA2CmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","unknown"],"names":{"title":"ShapeError.unknown","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unknown"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unknown"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":57,"character":9}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO","interfaceLanguage":"swift"},"pathComponents":["Measurement"],"names":{"title":"Measurement","navigator":[{"kind":"identifier","spelling":"Measurement"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Measurement"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Measurement"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":60,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO6lengthyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","length(_:)"],"names":{"title":"Measurement.length(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":61,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","area(width:height:)"],"names":{"title":"Measurement.area(width:height:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":62,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4noneyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","none"],"names":{"title":"Measurement.none","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":63,"character":9}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit"],"names":{"title":"Measurement.Unit","navigator":[{"kind":"identifier","spelling":"Unit"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Unit"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Unit"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":65,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit","symbol"],"names":{"title":"symbol","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":66,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit","init(symbol:)"],"names":{"title":"init(symbol:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"symbol","declarationFragments":[{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":67,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO6isNoneSbvp","interfaceLanguage":"swift"},"pathComponents":["Measurement","isNone"],"names":{"title":"isNone","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isNone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isNone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":70,"character":15}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo4RingV","interfaceLanguage":"swift"},"pathComponents":["Ring"],"names":{"title":"Ring","navigator":[{"kind":"identifier","spelling":"Ring"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ring"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ring"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":76,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4RingV5innerAA5PointVvp","interfaceLanguage":"swift"},"pathComponents":["Ring","inner"],"names":{"title":"inner","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":77,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4RingV5outerAA5PointVvp","interfaceLanguage":"swift"},"pathComponents":["Ring","outer"],"names":{"title":"outer","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":78,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc","interfaceLanguage":"swift"},"pathComponents":["Ring","init(inner:outer:)"],"names":{"title":"init(inner:outer:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"inner","declarationFragments":[{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},{"name":"outer","declarationFragments":[{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":80,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo4RingV6expand2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Ring","expand(by:)"],"names":{"title":"expand(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"delta","declarationFragments":[{"kind":"identifier","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"mutating"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":85,"character":25}}},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:9SwiftDemo4RingV1poiyA2C_ACtFZ","interfaceLanguage":"swift"},"pathComponents":["Ring","+(_:_:)"],"names":{"title":"+(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"+"},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"+"},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":90,"character":23}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter"],"names":{"title":"Counter","navigator":[{"kind":"identifier","spelling":"Counter"}],"subHeading":[{"kind":"keyword","spelling":"actor"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Counter"}]},"declarationFragments":[{"kind":"keyword","spelling":"actor"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Counter"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":95,"character":13}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","withSerialExecutor(_:)"],"names":{"title":"withSerialExecutor(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">((any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Perform an operation with the actor's ``SerialExecutor``."},{"text":""},{"text":"This converts the actor's ``Actor/unownedExecutor`` to a ``SerialExecutor`` while"},{"text":"retaining the actor for the duration of the operation. This is to ensure the lifetime"},{"text":"of the executor while performing the operation."}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1},{"name":"E","index":1,"depth":1}],"constraints":[{"kind":"conformance","lhs":"E","rhs":"Error","rhsPrecise":"s:s5ErrorP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Error","preciseIdentifier":"s:s5ErrorP"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : ~Copyable"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","withSerialExecutor(_:)"],"names":{"title":"withSerialExecutor(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"keyword","spelling":"nonisolated(nonsending)"},{"kind":"text","spelling":" (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Perform an operation with the actor's ``SerialExecutor``."},{"text":""},{"text":"This converts the actor's ``Actor/unownedExecutor`` to a ``SerialExecutor`` while"},{"text":"retaining the actor for the duration of the operation. This is to ensure the lifetime"},{"text":"of the executor while performing the operation."}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1},{"name":"E","index":1,"depth":1}],"constraints":[{"kind":"conformance","lhs":"E","rhs":"Error","rhsPrecise":"s:s5ErrorP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"nonisolated(nonsending)"},{"kind":"text","spelling":" (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Error","preciseIdentifier":"s:s5ErrorP"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : ~Copyable"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","preconditionIsolated(_:file:line:)"],"names":{"title":"preconditionIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preconditionIsolated"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":")"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Stops program execution if the current task is not executing on this"},{"text":"actor's serial executor."},{"text":""},{"text":"This function's effect varies depending on the build flag used:"},{"text":""},{"text":"* In playgrounds and `-Onone` builds (the default for Xcode's Debug"},{"text":" configuration), stops program execution in a debuggable state after"},{"text":" printing `message`."},{"text":""},{"text":"* In `-O` builds (the default for Xcode's Release configuration), stops"},{"text":" program execution."},{"text":""},{"text":"- Note: Because this check is performed against the actor's serial executor,"},{"text":" if another actor uses the same serial executor--by using"},{"text":" that actor's serial executor as its own ``Actor/unownedExecutor``--this"},{"text":" check will succeed. From a concurrency safety perspective, the"},{"text":" serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - message: The message to print if the assertion fails."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": () -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"text","spelling":"@backDeployed(before: macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0)\n"},{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preconditionIsolated"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" = String(), "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","assertIsolated(_:file:line:)"],"names":{"title":"assertIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assertIsolated"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":")"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Stops program execution if the current task is not executing on this"},{"text":"actor's serial executor."},{"text":""},{"text":"This function's effect varies depending on the build flag used:"},{"text":""},{"text":"* In playgrounds and `-Onone` builds (the default for Xcode's Debug"},{"text":" configuration), stops program execution in a debuggable state after"},{"text":" printing `message`."},{"text":""},{"text":"* In `-O` builds (the default for Xcode's Release configuration),"},{"text":" the isolation check is not performed and there are no effects."},{"text":""},{"text":"- Note: This check is performed against the actor's serial executor,"},{"text":" meaning that / if another actor uses the same serial executor--by using"},{"text":" that actor's serial executor as its own ``Actor/unownedExecutor``--this"},{"text":" check will succeed , as from a concurrency safety perspective, the"},{"text":" serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - message: The message to print if the assertion fails."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": () -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"text","spelling":"@backDeployed(before: macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0)\n"},{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assertIsolated"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" = String(), "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","assumeIsolated(_:file:line:)"],"names":{"title":"assumeIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assumeIsolated"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">(("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"rethrows"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Assume that the current task is executing on this actor's serial executor,"},{"text":"or stop program execution otherwise."},{"text":""},{"text":"You call this method to *assume and verify* that the currently"},{"text":"executing synchronous function is actually executing on the serial"},{"text":"executor of this actor."},{"text":""},{"text":"If that is the case, the operation is invoked with an `isolated` version"},{"text":"of the actor, allowing synchronous access to actor local state without"},{"text":"hopping through asynchronous boundaries."},{"text":""},{"text":"If the current context is not running on the actor's serial executor, or"},{"text":"if the actor is a reference to a remote actor, this method will crash"},{"text":"with a fatal error (similar to ``preconditionIsolated(_:file:line:)``)."},{"text":""},{"text":"Note that this check is performed against the passed in actor's serial"},{"text":"executor, meaning that if another actor uses the same serial executor--by"},{"text":"using that actor's ``Actor/unownedExecutor`` as its own"},{"text":"``Actor/unownedExecutor``--this check will succeed, as from a concurrency"},{"text":"safety perspective, the serial executor guarantees mutual exclusion of"},{"text":"those two actors."},{"text":""},{"text":"This method can only be used from synchronous functions, as asynchronous"},{"text":"functions should instead perform a normal method call to the actor, which"},{"text":"will hop task execution to the target actor if necessary."},{"text":""},{"text":"- Note: This check is performed against the actor's serial executor,"},{"text":" meaning that / if another actor uses the same serial executor--by using"},{"text":" another actor's executor as its own ``Actor/unownedExecutor``"},{"text":" --this check will succeed , as from a concurrency safety perspective,"},{"text":" the serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - operation: the operation that will be executed if the current context"},{"text":" is executing on the actors serial executor."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."},{"text":"- Returns: the return value of the `operation`"},{"text":"- Throws: rethrows the `Error` thrown by the operation if it threw"}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1}],"constraints":[{"kind":"conformance","lhs":"T","rhs":"Sendable","rhsPrecise":"s:s8SendableP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assumeIsolated"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"rethrows"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Sendable","preciseIdentifier":"s:s8SendableP"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7CounterC5valueSivp","interfaceLanguage":"swift"},"pathComponents":["Counter","value"],"names":{"title":"value","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":96,"character":28}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7CounterC4stepSivp","interfaceLanguage":"swift"},"pathComponents":["Counter","step"],"names":{"title":"step","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"step"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"step"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":97,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7CounterCACycfc","interfaceLanguage":"swift"},"pathComponents":["Counter","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":98,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7CounterC9incrementSiyF","interfaceLanguage":"swift"},"pathComponents":["Counter","increment()"],"names":{"title":"increment()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"increment"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"increment"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":99,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7CounterC5labelSSyF","interfaceLanguage":"swift"},"pathComponents":["Counter","label()"],"names":{"title":"label()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":103,"character":28}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6CanvasC","interfaceLanguage":"swift"},"pathComponents":["Canvas"],"names":{"title":"Canvas","navigator":[{"kind":"identifier","spelling":"Canvas"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Canvas"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Canvas"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":107,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6CanvasCACycfc","interfaceLanguage":"swift"},"pathComponents":["Canvas","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":108,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6CanvasC4drawyyAA5Shape_pF","interfaceLanguage":"swift"},"pathComponents":["Canvas","draw(_:)"],"names":{"title":"draw(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draw"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"shape","declarationFragments":[{"kind":"identifier","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draw"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":109,"character":16}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6LoaderC","interfaceLanguage":"swift"},"pathComponents":["Loader"],"names":{"title":"Loader","navigator":[{"kind":"identifier","spelling":"Loader"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Loader"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Loader"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":112,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6LoaderCACycfc","interfaceLanguage":"swift"},"pathComponents":["Loader","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":113,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF","interfaceLanguage":"swift"},"pathComponents":["Loader","load(path:)"],"names":{"title":"load(path:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"load"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"functionSignature":{"parameters":[{"name":"path","declarationFragments":[{"kind":"identifier","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"load"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":115,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF","interfaceLanguage":"swift"},"pathComponents":["Loader","fetch(url:)"],"names":{"title":"fetch(url:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fetch"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"url","declarationFragments":[{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fetch"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":116,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF","interfaceLanguage":"swift"},"pathComponents":["Loader","wait(seconds:)"],"names":{"title":"wait(seconds:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wait"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"}]},"functionSignature":{"parameters":[{"name":"seconds","declarationFragments":[{"kind":"identifier","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wait"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":117,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF","interfaceLanguage":"swift"},"pathComponents":["Loader","transform(_:)"],"names":{"title":"transform(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transform"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"}]},"functionSignature":{"parameters":[{"name":"shape","declarationFragments":[{"kind":"identifier","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":0}],"constraints":[{"kind":"conformance","lhs":"T","rhs":"Shape","rhsPrecise":"s:9SwiftDemo5ShapeP"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transform"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":119,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF","interfaceLanguage":"swift"},"pathComponents":["Loader","first(of:)"],"names":{"title":"first(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Element"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"items","declarationFragments":[{"kind":"identifier","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Element"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"parameters":[{"name":"Element","index":0,"depth":0}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Element"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":120,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC14withCompletionyyys6ResultOySSAA10ShapeErrorOGcF","interfaceLanguage":"swift"},"pathComponents":["Loader","withCompletion(_:)"],"names":{"title":"withCompletion(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withCompletion"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"completion","declarationFragments":[{"kind":"identifier","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withCompletion"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":122,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4eachyyySiXEF","interfaceLanguage":"swift"},"pathComponents":["Loader","each(_:)"],"names":{"title":"each(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"each"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"body","declarationFragments":[{"kind":"identifier","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"each"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":123,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF","interfaceLanguage":"swift"},"pathComponents":["Loader","lookup(table:key:)"],"names":{"title":"lookup(table:key:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lookup"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"table","declarationFragments":[{"kind":"identifier","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},{"name":"key","declarationFragments":[{"kind":"identifier","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lookup"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":125,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC6updateyyAA5PointVzF","interfaceLanguage":"swift"},"pathComponents":["Loader","update(_:)"],"names":{"title":"update(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"point","declarationFragments":[{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"point"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":127,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC10modernOnlyyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","modernOnly()"],"names":{"title":"modernOnly()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"modernOnly"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"modernOnly"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":16,"minor":0}}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":130,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC11legacyFetchyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","legacyFetch()"],"names":{"title":"legacyFetch()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"legacyFetch"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"legacyFetch"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"*","message":"Use fetch(url:) instead","isUnconditionallyDeprecated":true}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":133,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC8oldFetchyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","oldFetch()"],"names":{"title":"oldFetch()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"oldFetch"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"oldFetch"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":15,"minor":0},"deprecated":{"major":17,"minor":0},"renamed":"fetch(url:)"}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":136,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo16makeDefaultPointAA0E0VyF","interfaceLanguage":"swift"},"pathComponents":["makeDefaultPoint()"],"names":{"title":"makeDefaultPoint()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeDefaultPoint"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeDefaultPoint"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":139,"character":12}}},{"kind":{"identifier":"swift.var","displayName":"Global Variable"},"identifier":{"precise":"s:9SwiftDemo13defaultFlavorAA0D0Ovp","interfaceLanguage":"swift"},"pathComponents":["defaultFlavor"],"names":{"title":"defaultFlavor","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"defaultFlavor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"defaultFlavor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":140,"character":11}}},{"kind":{"identifier":"swift.var","displayName":"Global Variable"},"identifier":{"precise":"s:9SwiftDemo13globalCounterSivp","interfaceLanguage":"swift"},"pathComponents":["globalCounter"],"names":{"title":"globalCounter","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"globalCounter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"globalCounter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":141,"character":11}}},{"kind":{"identifier":"swift.typealias","displayName":"Type Alias"},"identifier":{"precise":"s:9SwiftDemo11Coordinatesa","interfaceLanguage":"swift"},"pathComponents":["Coordinates"],"names":{"title":"Coordinates","navigator":[{"kind":"identifier","spelling":"Coordinates"}],"subHeading":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coordinates"}]},"declarationFragments":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coordinates"},{"kind":"text","spelling":" = (latitude"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", longitude"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":142,"character":17}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo11checkedSideyS2dKF","interfaceLanguage":"swift"},"pathComponents":["checkedSide(_:)"],"names":{"title":"checkedSide(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checkedSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checkedSide"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":5,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8echoInt8ys0D0VADF","interfaceLanguage":"swift"},"pathComponents":["echoInt8(_:)"],"names":{"title":"echoInt8(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoInt8"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoInt8"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":10,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10echoUInt64ys0D0VADF","interfaceLanguage":"swift"},"pathComponents":["echoUInt64(_:)"],"names":{"title":"echoUInt64(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoUInt64"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoUInt64"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":11,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10largestIntSiyF","interfaceLanguage":"swift"},"pathComponents":["largestInt()"],"names":{"title":"largestInt()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"largestInt"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"largestInt"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":12,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5shoutySSSgACF","interfaceLanguage":"swift"},"pathComponents":["shout(_:)"],"names":{"title":"shout(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":13,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7TrackerC","interfaceLanguage":"swift"},"pathComponents":["Tracker"],"names":{"title":"Tracker","navigator":[{"kind":"identifier","spelling":"Tracker"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Tracker"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Tracker"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":15,"character":19}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo7TrackerC9liveCountSivpZ","interfaceLanguage":"swift"},"pathComponents":["Tracker","liveCount"],"names":{"title":"liveCount","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"liveCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"liveCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":16,"character":35}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7TrackerC2idSivp","interfaceLanguage":"swift"},"pathComponents":["Tracker","id"],"names":{"title":"id","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":17,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7TrackerC2idACSi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Tracker","init(id:)"],"names":{"title":"init(id:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":19,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7TrackerC4sameACyF","interfaceLanguage":"swift"},"pathComponents":["Tracker","same()"],"names":{"title":"same()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":26,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo11delayedEcho_5afterS2S_SdtYaKF","interfaceLanguage":"swift"},"pathComponents":["delayedEcho(_:after:)"],"names":{"title":"delayedEcho(_:after:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delayedEcho"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"after","internalName":"seconds","declarationFragments":[{"kind":"identifier","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delayedEcho"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":29,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo16makeTrackerLater2idAA0D0CSi_tYaF","interfaceLanguage":"swift"},"pathComponents":["makeTrackerLater(id:)"],"names":{"title":"makeTrackerLater(id:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeTrackerLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeTrackerLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":35,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7PaletteC","interfaceLanguage":"swift"},"pathComponents":["Palette"],"names":{"title":"Palette","navigator":[{"kind":"identifier","spelling":"Palette"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Palette"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Palette"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":41,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PaletteC7strokesSivp","interfaceLanguage":"swift"},"pathComponents":["Palette","strokes"],"names":{"title":"strokes","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":42,"character":28}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PaletteCACycfc","interfaceLanguage":"swift"},"pathComponents":["Palette","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":43,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PaletteC6strokeSiyF","interfaceLanguage":"swift"},"pathComponents":["Palette","stroke()"],"names":{"title":"stroke()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stroke"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stroke"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":44,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PaletteC11strokeLaterSiyYaF","interfaceLanguage":"swift"},"pathComponents":["Palette","strokeLater()"],"names":{"title":"strokeLater()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokeLater"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokeLater"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":48,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5namesySaySSGSiF","interfaceLanguage":"swift"},"pathComponents":["names(_:)"],"names":{"title":"names(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":54,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5totalySdSaySdGF","interfaceLanguage":"swift"},"pathComponents":["total(_:)"],"names":{"title":"total(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"total"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"values","declarationFragments":[{"kind":"identifier","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"total"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":55,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8centroid2ofAA5PointVSayAEG_tF","interfaceLanguage":"swift"},"pathComponents":["centroid(of:)"],"names":{"title":"centroid(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"centroid"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"points","declarationFragments":[{"kind":"identifier","spelling":"points"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"centroid"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"points"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":56,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8mirroredySaySaySiGGADF","interfaceLanguage":"swift"},"pathComponents":["mirrored(_:)"],"names":{"title":"mirrored(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mirrored"},{"kind":"text","spelling":"([["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]) -> [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]},"functionSignature":{"parameters":[{"name":"grid","declarationFragments":[{"kind":"identifier","spelling":"grid"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]}],"returns":[{"kind":"text","spelling":"[["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mirrored"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"grid"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]) -> [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":57,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10wordCountsySDySSSiGSaySSGF","interfaceLanguage":"swift"},"pathComponents":["wordCounts(_:)"],"names":{"title":"wordCounts(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wordCounts"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"words","declarationFragments":[{"kind":"identifier","spelling":"words"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wordCounts"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"words"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":58,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7lengthsySDySSSiGSDyS2SGF","interfaceLanguage":"swift"},"pathComponents":["lengths(_:)"],"names":{"title":"lengths(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lengths"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"table","declarationFragments":[{"kind":"identifier","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lengths"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":61,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8trackersySayAA7TrackerCGSaySiGF","interfaceLanguage":"swift"},"pathComponents":["trackers(_:)"],"names":{"title":"trackers(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"trackers"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"ids","declarationFragments":[{"kind":"identifier","spelling":"ids"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"trackers"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"ids"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":62,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10allFlavorsSayAA6FlavorOGyF","interfaceLanguage":"swift"},"pathComponents":["allFlavors()"],"names":{"title":"allFlavors()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allFlavors"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allFlavors"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":63,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7nextDay5after10Foundation4DateVAF_tF","interfaceLanguage":"swift"},"pathComponents":["nextDay(after:)"],"names":{"title":"nextDay(after:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextDay"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]},"functionSignature":{"parameters":[{"name":"after","internalName":"date","declarationFragments":[{"kind":"identifier","spelling":"date"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextDay"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"date"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":64,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF","interfaceLanguage":"swift"},"pathComponents":["host(of:)"],"names":{"title":"host(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"host"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"url","declarationFragments":[{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"host"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":65,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7resolve_7against10Foundation3URLVSS_AFtF","interfaceLanguage":"swift"},"pathComponents":["resolve(_:against:)"],"names":{"title":"resolve(_:against:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resolve"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"against"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]},"functionSignature":{"parameters":[{"name":"path","declarationFragments":[{"kind":"identifier","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"against","internalName":"base","declarationFragments":[{"kind":"identifier","spelling":"base"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resolve"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"against"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"base"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":66,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8checksumySi10Foundation4DataVF","interfaceLanguage":"swift"},"pathComponents":["checksum(_:)"],"names":{"title":"checksum(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checksum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"parameters":[{"name":"data","declarationFragments":[{"kind":"identifier","spelling":"data"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checksum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"data"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":67,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4rampy10Foundation4DataVSiF","interfaceLanguage":"swift"},"pathComponents":["ramp(_:)"],"names":{"title":"ramp(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ramp"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ramp"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":68,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10namesLaterySaySSGSiYaF","interfaceLanguage":"swift"},"pathComponents":["namesLater(_:)"],"names":{"title":"namesLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"namesLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"namesLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":69,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9countdown4from_ySi_ySi_SbtXEtF","interfaceLanguage":"swift"},"pathComponents":["countdown(from:_:)"],"names":{"title":"countdown(from:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countdown"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"from"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"from","internalName":"start","declarationFragments":[{"kind":"identifier","spelling":"start"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},{"name":"tick","declarationFragments":[{"kind":"identifier","spelling":"tick"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countdown"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"from"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"start"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"tick"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":74,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10greetLater_10completionySSSg_yADYbctF","interfaceLanguage":"swift"},"pathComponents":["greetLater(_:completion:)"],"names":{"title":"greetLater(_:completion:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},{"name":"completion","declarationFragments":[{"kind":"identifier","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":80,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo8NotifierC","interfaceLanguage":"swift"},"pathComponents":["Notifier"],"names":{"title":"Notifier","navigator":[{"kind":"identifier","spelling":"Notifier"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Notifier"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Notifier"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":86,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo8NotifierCACycfc","interfaceLanguage":"swift"},"pathComponents":["Notifier","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":88,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo8NotifierC5countSivp","interfaceLanguage":"swift"},"pathComponents":["Notifier","count"],"names":{"title":"count","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":89,"character":15}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC9subscribeyyySSYbcF","interfaceLanguage":"swift"},"pathComponents":["Notifier","subscribe(_:)"],"names":{"title":"subscribe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribe"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"handler","declarationFragments":[{"kind":"identifier","spelling":"handler"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"handler"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":90,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC7publishyySSF","interfaceLanguage":"swift"},"pathComponents":["Notifier","publish(_:)"],"names":{"title":"publish(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publish"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publish"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":91,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC12publishLateryySSF","interfaceLanguage":"swift"},"pathComponents":["Notifier","publishLater(_:)"],"names":{"title":"publishLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publishLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publishLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":92,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC5clearyyF","interfaceLanguage":"swift"},"pathComponents":["Notifier","clear()"],"names":{"title":"clear()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":96,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4area2ofSdAA11MeasurementO_tF","interfaceLanguage":"swift"},"pathComponents":["area(of:)"],"names":{"title":"area(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"measurement","declarationFragments":[{"kind":"identifier","spelling":"measurement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"measurement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":99,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7measure_2byAA11MeasurementOSd_SdSgtF","interfaceLanguage":"swift"},"pathComponents":["measure(_:by:)"],"names":{"title":"measure(_:by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measure"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"functionSignature":{"parameters":[{"name":"width","declarationFragments":[{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"by","internalName":"height","declarationFragments":[{"kind":"identifier","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":106,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12measurementsSayAA11MeasurementOGyF","interfaceLanguage":"swift"},"pathComponents":["measurements()"],"names":{"title":"measurements()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measurements"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measurements"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":111,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF","interfaceLanguage":"swift"},"pathComponents":["measureLater(_:)"],"names":{"title":"measureLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measureLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"functionSignature":{"parameters":[{"name":"width","declarationFragments":[{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measureLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":113,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9onMeasureyyyAA11MeasurementOXEF","interfaceLanguage":"swift"},"pathComponents":["onMeasure(_:)"],"names":{"title":"onMeasure(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onMeasure"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"body","declarationFragments":[{"kind":"identifier","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onMeasure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":118,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7explainySSAA10ShapeErrorOF","interfaceLanguage":"swift"},"pathComponents":["explain(_:)"],"names":{"title":"explain(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"explain"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"error","declarationFragments":[{"kind":"identifier","spelling":"error"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"explain"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"error"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":120,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7FormulaO","interfaceLanguage":"swift"},"pathComponents":["Formula"],"names":{"title":"Formula","navigator":[{"kind":"identifier","spelling":"Formula"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Formula"}]},"declarationFragments":[{"kind":"keyword","spelling":"indirect"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Formula"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":128,"character":21}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO6numberyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","number(_:)"],"names":{"title":"Formula.number(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"number"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"number"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":129,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","sum(_:_:)"],"names":{"title":"Formula.sum(_:_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":130,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO6negateyA2CcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","negate(_:)"],"names":{"title":"Formula.negate(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"negate"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"negate"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":131,"character":9}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7FormulaO5valueSdvp","interfaceLanguage":"swift"},"pathComponents":["Formula","value"],"names":{"title":"value","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":133,"character":15}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8simplifyyAA7FormulaOADF","interfaceLanguage":"swift"},"pathComponents":["simplify(_:)"],"names":{"title":"simplify(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simplify"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]},"functionSignature":{"parameters":[{"name":"formula","declarationFragments":[{"kind":"identifier","spelling":"formula"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simplify"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"formula"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":142,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7PayloadO","interfaceLanguage":"swift"},"pathComponents":["Payload"],"names":{"title":"Payload","navigator":[{"kind":"identifier","spelling":"Payload"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Payload"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Payload"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":144,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","tracker(_:)"],"names":{"title":"Payload.tracker(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tracker"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tracker"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":145,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","point(_:)"],"names":{"title":"Payload.point(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":146,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","flavor(_:)"],"names":{"title":"Payload.flavor(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flavor"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flavor"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":147,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","maybe(_:)"],"names":{"title":"Payload.maybe(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maybe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?)"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maybe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?)"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":148,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","names(_:)"],"names":{"title":"Payload.names(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":149,"character":9}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4echoyAA7PayloadOADF","interfaceLanguage":"swift"},"pathComponents":["echo(_:)"],"names":{"title":"echo(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echo"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]},"functionSignature":{"parameters":[{"name":"payload","declarationFragments":[{"kind":"identifier","spelling":"payload"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echo"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"payload"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":152,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo3JobO","interfaceLanguage":"swift"},"pathComponents":["Job"],"names":{"title":"Job","navigator":[{"kind":"identifier","spelling":"Job"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Job"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Job"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":155,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo3JobO3runyACyyccACmF","interfaceLanguage":"swift"},"pathComponents":["Job","run(_:)"],"names":{"title":"Job.run(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"run"},{"kind":"text","spelling":"(() -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"run"},{"kind":"text","spelling":"(() -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":156,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo3JobO4idleyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Job","idle"],"names":{"title":"Job.idle","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"idle"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"idle"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":157,"character":9}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket"],"names":{"title":"Job.Ticket","navigator":[{"kind":"identifier","spelling":"Ticket"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ticket"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ticket"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":159,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV2idSivp","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket","id"],"names":{"title":"id","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":160,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV2idAESi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket","init(id:)"],"names":{"title":"init(id:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":161,"character":15}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4bumpyySizF","interfaceLanguage":"swift"},"pathComponents":["bump(_:)"],"names":{"title":"bump(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bump"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bump"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":165,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo6append_2toySS_SaySSGztF","interfaceLanguage":"swift"},"pathComponents":["append(_:to:)"],"names":{"title":"append(_:to:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"append"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}]},"functionSignature":{"parameters":[{"name":"word","declarationFragments":[{"kind":"identifier","spelling":"word"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"to","internalName":"words","declarationFragments":[{"kind":"identifier","spelling":"words"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"append"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"word"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"words"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":166,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5halveyySizKF","interfaceLanguage":"swift"},"pathComponents":["halve(_:)"],"names":{"title":"halve(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"halve"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"halve"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":167,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5clearyySSSgzF","interfaceLanguage":"swift"},"pathComponents":["clear(_:)"],"names":{"title":"clear(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?)"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?)"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":171,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12swapTrackersyyAA7TrackerCz_ADztF","interfaceLanguage":"swift"},"pathComponents":["swapTrackers(_:_:)"],"names":{"title":"swapTrackers(_:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapTrackers"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"a","declarationFragments":[{"kind":"identifier","spelling":"a"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},{"name":"b","declarationFragments":[{"kind":"identifier","spelling":"b"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapTrackers"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"a"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"b"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":172,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8describeySSSo6UIViewCF","interfaceLanguage":"swift"},"pathComponents":["describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"view","declarationFragments":[{"kind":"identifier","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":5,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9makeLabelySo7UILabelCSSF","interfaceLanguage":"swift"},"pathComponents":["makeLabel(_:)"],"names":{"title":"makeLabel(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeLabel"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeLabel"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":7,"character":23}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF","interfaceLanguage":"swift"},"pathComponents":["tags(_:)"],"names":{"title":"tags(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"views","declarationFragments":[{"kind":"identifier","spelling":"views"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"views"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":13,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF","interfaceLanguage":"swift"},"pathComponents":["firstSubview(of:)"],"names":{"title":"firstSubview(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"firstSubview"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"view","declarationFragments":[{"kind":"identifier","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"firstSubview"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":15,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"c:@M@SwiftDemo@objc(cs)Note","interfaceLanguage":"swift"},"pathComponents":["Note"],"names":{"title":"Note","navigator":[{"kind":"identifier","spelling":"Note"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":17,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4NoteC4textSSvp","interfaceLanguage":"swift"},"pathComponents":["Note","text"],"names":{"title":"text","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":18,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo4NoteC4textACSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Note","init(text:)"],"names":{"title":"init(text:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":19,"character":11}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8makeNoteyAA0D0CSSF","interfaceLanguage":"swift"},"pathComponents":["makeNote(_:)"],"names":{"title":"makeNote(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeNote"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeNote"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":22,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4text2ofSSAA4NoteC_tF","interfaceLanguage":"swift"},"pathComponents":["text(of:)"],"names":{"title":"text(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"note","declarationFragments":[{"kind":"identifier","spelling":"note"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"note"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":23,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9noteLateryAA4NoteCSSYaF","interfaceLanguage":"swift"},"pathComponents":["noteLater(_:)"],"names":{"title":"noteLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"noteLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"noteLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":25,"character":12}}}],"relationships":[{"kind":"requirementOf","source":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","target":"s:9SwiftDemo7GreeterP"},{"kind":"conformsTo","source":"s:9SwiftDemo0B0C","target":"s:9SwiftDemo7GreeterP"},{"kind":"memberOf","source":"s:9SwiftDemo0B0CACycfc","target":"s:9SwiftDemo0B0C"},{"kind":"memberOf","source":"s:9SwiftDemo0B0C5greet4nameS2S_tF","target":"s:9SwiftDemo0B0C","sourceOrigin":{"identifier":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","displayName":"Greeter.greet(name:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1xSdvp","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1ySdvp","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1x1yACSd_Sdtcfc","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO7vanillayA2CmF","target":"s:9SwiftDemo6FlavorO"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO9chocolateyA2CmF","target":"s:9SwiftDemo6FlavorO"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:9SwiftDemo0B0C5greet4name5timesS2S_SitF","target":"s:9SwiftDemo0B0C"},{"kind":"memberOf","source":"s:9SwiftDemo0B0C7versionSSvpZ","target":"s:9SwiftDemo0B0C"},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s9EscapableP","targetFallback":"Swift.Escapable"},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s8CopyableP","targetFallback":"Swift.Copyable"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV11descriptionSSvp","target":"s:9SwiftDemo5PointV","sourceOrigin":{"identifier":"s:s23CustomStringConvertibleP11descriptionSSvp","displayName":"CustomStringConvertible.description"}},{"kind":"memberOf","source":"s:9SwiftDemo5PointV6lengthSdvp","target":"s:9SwiftDemo5PointV"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s9EscapableP","targetFallback":"Swift.Escapable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s8CopyableP","targetFallback":"Swift.Copyable"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO11descriptionSSvp","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:s23CustomStringConvertibleP11descriptionSSvp","displayName":"CustomStringConvertible.description"}},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF","target":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF","target":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp","target":"s:9SwiftDemo7PolygonC7MetricsV"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc","target":"s:9SwiftDemo7PolygonC7MetricsV"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5styleAC5StyleOvp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"conformsTo","source":"s:9SwiftDemo5ShapeP","target":"s:9SwiftDemo7GreeterP"},{"kind":"requirementOf","source":"s:9SwiftDemo5ShapeP4areaSdvp","target":"s:9SwiftDemo5ShapeP"},{"kind":"requirementOf","source":"s:9SwiftDemo5ShapeP5sidesSivpZ","target":"s:9SwiftDemo5ShapeP"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4nameSSvp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC11vertexCountSivp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC6sharedACvpZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4nameACSgSS_tcfc","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale2byySd_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale2byySi_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4makeACyFZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC8describeySSACSgFZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonCyAA5PointVSicip","target":"s:9SwiftDemo7PolygonC"},{"kind":"conformsTo","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo5ShapeP"},{"kind":"conformsTo","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo7GreeterP"},{"kind":"inheritsFrom","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4sideSdvp","target":"s:9SwiftDemo6SquareC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4sideACSd_tcfc","target":"s:9SwiftDemo6SquareC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4areaSdvp","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo5ShapeP4areaSdvp","displayName":"Shape.area"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5sidesSivpZ","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo5ShapeP5sidesSivpZ","displayName":"Shape.sides"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5greet4nameS2S_tF","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","displayName":"Greeter.greet(name:)"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5scale2byySd_tF","target":"s:9SwiftDemo6SquareC"},{"kind":"overrides","source":"s:9SwiftDemo6SquareC5scale2byySd_tF","target":"s:9SwiftDemo7PolygonC5scale2byySd_tF"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4rainyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4snowyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4noneyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO","target":"s:9SwiftDemo10ShapeErrorO","sourceOrigin":{"identifier":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp","displayName":"Error.localizedDescription"}},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s5ErrorP","targetFallback":"Swift.Error"},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO7unknownyA2CmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO6lengthyACSdcACmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4noneyA2CmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp","target":"s:9SwiftDemo11MeasurementO4UnitV"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc","target":"s:9SwiftDemo11MeasurementO4UnitV"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO6isNoneSbvp","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5innerAA5PointVvp","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5outerAA5PointVvp","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV6expand2byySd_tF","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV1poiyA2C_ACtFZ","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF","displayName":"Actor.withSerialExecutor(_:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF","displayName":"Actor.withSerialExecutor(_:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF","displayName":"Actor.preconditionIsolated(_:file:line:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF","displayName":"Actor.assertIsolated(_:file:line:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF","displayName":"Actor.assumeIsolated(_:file:line:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:ScA","targetFallback":"_Concurrency.Actor"},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC5valueSivp","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC4stepSivp","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterCACycfc","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC9incrementSiyF","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC5labelSSyF","target":"s:9SwiftDemo7CounterC"},{"kind":"conformsTo","source":"s:9SwiftDemo6CanvasC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"memberOf","source":"s:9SwiftDemo6CanvasCACycfc","target":"s:9SwiftDemo6CanvasC"},{"kind":"memberOf","source":"s:9SwiftDemo6CanvasC4drawyyAA5Shape_pF","target":"s:9SwiftDemo6CanvasC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderCACycfc","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC14withCompletionyyys6ResultOySSAA10ShapeErrorOGcF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4eachyyySiXEF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC6updateyyAA5PointVzF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC10modernOnlyyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC11legacyFetchyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC8oldFetchyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC9liveCountSivpZ","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC2idSivp","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC2idACSi_tcfc","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC4sameACyF","target":"s:9SwiftDemo7TrackerC"},{"kind":"conformsTo","source":"s:9SwiftDemo7PaletteC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC7strokesSivp","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteCACycfc","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC6strokeSiyF","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC11strokeLaterSiyYaF","target":"s:9SwiftDemo7PaletteC"},{"kind":"conformsTo","source":"s:9SwiftDemo8NotifierC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo8NotifierC","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierCACycfc","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC5countSivp","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC9subscribeyyySSYbcF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC7publishyySSF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC12publishLateryySSF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC5clearyyF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO6numberyACSdcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO6negateyA2CcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO5valueSdvp","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO3runyACyyccACmF","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO4idleyA2CmF","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV2idSivp","target":"s:9SwiftDemo3JobO6TicketV"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV2idAESi_tcfc","target":"s:9SwiftDemo3JobO6TicketV"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"c:objc(pl)NSObject","targetFallback":"ObjectiveC.NSObjectProtocol"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s7CVarArgP","targetFallback":"Swift.CVarArg"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s28CustomDebugStringConvertibleP","targetFallback":"Swift.CustomDebugStringConvertible"},{"kind":"inheritsFrom","source":"c:@M@SwiftDemo@objc(cs)Note","target":"c:objc(cs)NSObject","targetFallback":"ObjectiveC.NSObject"},{"kind":"memberOf","source":"s:9SwiftDemo4NoteC4textSSvp","target":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"memberOf","source":"s:9SwiftDemo4NoteC4textACSS_tcfc","target":"c:@M@SwiftDemo@objc(cs)Note"}]} \ No newline at end of file +{"metadata":{"formatVersion":{"major":0,"minor":6,"patch":0},"generator":"Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)"},"module":{"name":"SwiftDemo","platform":{"architecture":"arm64","environment":"simulator","vendor":"apple","operatingSystem":{"name":"ios","minimumVersion":{"major":15,"minor":0}}}},"symbols":[{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo7GreeterP","interfaceLanguage":"swift"},"pathComponents":["Greeter"],"names":{"title":"Greeter","navigator":[{"kind":"identifier","spelling":"Greeter"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeter"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeter"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":0,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Greeter","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":1,"character":9}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo0B0C","interfaceLanguage":"swift"},"pathComponents":["Demo"],"names":{"title":"Demo","navigator":[{"kind":"identifier","spelling":"Demo"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Demo"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Demo"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":4,"character":13}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo0B0CACycfc","interfaceLanguage":"swift"},"pathComponents":["Demo","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":5,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo0B0C5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Demo","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":6,"character":16}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo5PointV","interfaceLanguage":"swift"},"pathComponents":["Point"],"names":{"title":"Point","navigator":[{"kind":"identifier","spelling":"Point"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Point"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Point"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":9,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV1xSdvp","interfaceLanguage":"swift"},"pathComponents":["Point","x"],"names":{"title":"x","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":10,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV1ySdvp","interfaceLanguage":"swift"},"pathComponents":["Point","y"],"names":{"title":"y","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":11,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo5PointV1x1yACSd_Sdtcfc","interfaceLanguage":"swift"},"pathComponents":["Point","init(x:y:)"],"names":{"title":"init(x:y:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"x","declarationFragments":[{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"y","declarationFragments":[{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":12,"character":11}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor"],"names":{"title":"Flavor","navigator":[{"kind":"identifier","spelling":"Flavor"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Flavor"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Flavor"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo6FlavorO7vanillayA2CmF","interfaceLanguage":"swift"},"pathComponents":["Flavor","vanilla"],"names":{"title":"Flavor.vanilla","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vanilla"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vanilla"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":31}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo6FlavorO9chocolateyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Flavor","chocolate"],"names":{"title":"Flavor.chocolate","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"chocolate"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"chocolate"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":44}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Flavor","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo0B0C5greet4name5timesS2S_SitF","interfaceLanguage":"swift"},"pathComponents":["Demo","greet(name:times:)"],"names":{"title":"greet(name:times:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"times","declarationFragments":[{"kind":"identifier","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":1,"character":16}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo0B0C7versionSSvpZ","interfaceLanguage":"swift"},"pathComponents":["Demo","version"],"names":{"title":"version","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":5,"character":22}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV11descriptionSSvp","interfaceLanguage":"swift"},"pathComponents":["Point","description"],"names":{"title":"description","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":9,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV6lengthSdvp","interfaceLanguage":"swift"},"pathComponents":["Point","length"],"names":{"title":"length","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":10,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6FlavorO11descriptionSSvp","interfaceLanguage":"swift"},"pathComponents":["Flavor","description"],"names":{"title":"description","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.enum"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":14,"character":15}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style"],"names":{"title":"Polygon.Style","navigator":[{"kind":"identifier","spelling":"Style"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Style"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Style"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","solid"],"names":{"title":"Polygon.Style.solid","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"solid"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"solid"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":37}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","dashed"],"names":{"title":"Polygon.Style.dashed","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dashed"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dashed"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":44}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics"],"names":{"title":"Polygon.Metrics","navigator":[{"kind":"identifier","spelling":"Metrics"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Metrics"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Metrics"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":33,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics","perimeter"],"names":{"title":"perimeter","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":34,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics","init(perimeter:)"],"names":{"title":"init(perimeter:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"perimeter","declarationFragments":[{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":35,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5styleAC5StyleOvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","style"],"names":{"title":"style","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"style"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Style","preciseIdentifier":"s:9SwiftDemo7PolygonC5StyleO"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"style"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Style","preciseIdentifier":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":38,"character":15}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","metrics(side:)"],"names":{"title":"metrics(side:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"metrics"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"."},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"metrics"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":39,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF","interfaceLanguage":"swift"},"pathComponents":["starterWallet(for:)"],"names":{"title":"starterWallet(for:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"starterWallet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"for"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}]},"functionSignature":{"parameters":[{"name":"for","internalName":"owner","declarationFragments":[{"kind":"identifier","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"starterWallet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"for"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":4,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF","interfaceLanguage":"swift"},"pathComponents":["sum(of:)"],"names":{"title":"sum(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"amounts","declarationFragments":[{"kind":"identifier","spelling":"amounts"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"amounts"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":10,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4flipy0aB3Kit4CoinOAEF","interfaceLanguage":"swift"},"pathComponents":["flip(_:)"],"names":{"title":"flip(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flip"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]},"functionSignature":{"parameters":[{"name":"coin","declarationFragments":[{"kind":"identifier","spelling":"coin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flip"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"coin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":14,"character":12}}},{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo5ShapeP","interfaceLanguage":"swift"},"pathComponents":["Shape"],"names":{"title":"Shape","navigator":[{"kind":"identifier","spelling":"Shape"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Shape"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Shape"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Greeter","preciseIdentifier":"s:9SwiftDemo7GreeterP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":2,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5ShapeP4areaSdvp","interfaceLanguage":"swift"},"pathComponents":["Shape","area"],"names":{"title":"area","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":3,"character":8}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo5ShapeP5sidesSivpZ","interfaceLanguage":"swift"},"pathComponents":["Shape","sides"],"names":{"title":"sides","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":4,"character":15}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7PolygonC","interfaceLanguage":"swift"},"pathComponents":["Polygon"],"names":{"title":"Polygon","navigator":[{"kind":"identifier","spelling":"Polygon"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Polygon"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Polygon"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":7,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4nameSSvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","name"],"names":{"title":"name","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":8,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC11vertexCountSivp","interfaceLanguage":"swift"},"pathComponents":["Polygon","vertexCount"],"names":{"title":"vertexCount","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":9,"character":28}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC6sharedACvpZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","shared"],"names":{"title":"shared","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shared"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shared"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":10,"character":22}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","init(name:vertexCount:)"],"names":{"title":"init(name:vertexCount:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"vertexCount","declarationFragments":[{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":12,"character":11}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4nameACSgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","init(name:)"],"names":{"title":"init(name:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"convenience"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":17,"character":23}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":22,"character":14}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale2byySi_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":23,"character":14}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(x:y:)"],"names":{"title":"scale(x:y:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"x","declarationFragments":[{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"y","declarationFragments":[{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":24,"character":16}}},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4makeACyFZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","make()"],"names":{"title":"make()","subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"make"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"make"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":26,"character":22}}},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC8describeySSACSgFZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"polygon","declarationFragments":[{"kind":"identifier","spelling":"polygon"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"polygon"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":27,"character":23}}},{"kind":{"identifier":"swift.subscript","displayName":"Instance Subscript"},"identifier":{"precise":"s:9SwiftDemo7PolygonCyAA5PointVSicip","interfaceLanguage":"swift"},"pathComponents":["Polygon","subscript(_:)"],"names":{"title":"subscript(_:)","subHeading":[{"kind":"keyword","spelling":"subscript"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"parameters":[{"name":"index","declarationFragments":[{"kind":"identifier","spelling":"index"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"subscript"},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"index"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":29,"character":11}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6SquareC","interfaceLanguage":"swift"},"pathComponents":["Square"],"names":{"title":"Square","navigator":[{"kind":"identifier","spelling":"Square"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Square"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Square"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":34,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC4sideSdvp","interfaceLanguage":"swift"},"pathComponents":["Square","side"],"names":{"title":"side","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":35,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6SquareC4sideACSd_tcfc","interfaceLanguage":"swift"},"pathComponents":["Square","init(side:)"],"names":{"title":"init(side:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":37,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC4areaSdvp","interfaceLanguage":"swift"},"pathComponents":["Square","area"],"names":{"title":"area","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":42,"character":15}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC5sidesSivpZ","interfaceLanguage":"swift"},"pathComponents":["Square","sides"],"names":{"title":"sides","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":43,"character":22}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6SquareC5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Square","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":44,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6SquareC5scale2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Square","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"override"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":46,"character":25}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation"],"names":{"title":"Precipitation","navigator":[{"kind":"identifier","spelling":"Precipitation"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Precipitation"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Precipitation"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":50,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4rainyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","rain"],"names":{"title":"Precipitation.rain","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rain"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rain"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4snowyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","snow"],"names":{"title":"Precipitation.snow","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"snow"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"snow"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":15}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4noneyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","none"],"names":{"title":"Precipitation.none","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":21}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Precipitation","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO","interfaceLanguage":"swift"},"pathComponents":["ShapeError"],"names":{"title":"ShapeError","navigator":[{"kind":"identifier","spelling":"ShapeError"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ShapeError"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ShapeError"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":54,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO","interfaceLanguage":"swift"},"pathComponents":["ShapeError","localizedDescription"],"names":{"title":"localizedDescription","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localizedDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"docComment":{"module":"Foundation","lines":[{"text":"Retrieve the localized description for this error."}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localizedDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":8,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":10}},{"domain":"tvOS","introduced":{"major":9,"minor":0}},{"domain":"watchOS","introduced":{"major":2,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","invalidSide(_:)"],"names":{"title":"ShapeError.invalidSide(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":55,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","tooManySides(count:limit:)"],"names":{"title":"ShapeError.tooManySides(count:limit:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tooManySides"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tooManySides"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":56,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO7unknownyA2CmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","unknown"],"names":{"title":"ShapeError.unknown","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unknown"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unknown"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":57,"character":9}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO","interfaceLanguage":"swift"},"pathComponents":["Measurement"],"names":{"title":"Measurement","navigator":[{"kind":"identifier","spelling":"Measurement"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Measurement"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Measurement"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":60,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO6lengthyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","length(_:)"],"names":{"title":"Measurement.length(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":61,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","area(width:height:)"],"names":{"title":"Measurement.area(width:height:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":62,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4noneyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","none"],"names":{"title":"Measurement.none","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":63,"character":9}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit"],"names":{"title":"Measurement.Unit","navigator":[{"kind":"identifier","spelling":"Unit"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Unit"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Unit"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":65,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit","symbol"],"names":{"title":"symbol","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":66,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit","init(symbol:)"],"names":{"title":"init(symbol:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"symbol","declarationFragments":[{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":67,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO6isNoneSbvp","interfaceLanguage":"swift"},"pathComponents":["Measurement","isNone"],"names":{"title":"isNone","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isNone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isNone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":70,"character":15}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo4RingV","interfaceLanguage":"swift"},"pathComponents":["Ring"],"names":{"title":"Ring","navigator":[{"kind":"identifier","spelling":"Ring"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ring"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ring"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":76,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4RingV5innerAA5PointVvp","interfaceLanguage":"swift"},"pathComponents":["Ring","inner"],"names":{"title":"inner","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":77,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4RingV5outerAA5PointVvp","interfaceLanguage":"swift"},"pathComponents":["Ring","outer"],"names":{"title":"outer","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":78,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc","interfaceLanguage":"swift"},"pathComponents":["Ring","init(inner:outer:)"],"names":{"title":"init(inner:outer:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"inner","declarationFragments":[{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},{"name":"outer","declarationFragments":[{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":80,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo4RingV6expand2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Ring","expand(by:)"],"names":{"title":"expand(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"delta","declarationFragments":[{"kind":"identifier","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"mutating"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":85,"character":25}}},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:9SwiftDemo4RingV1poiyA2C_ACtFZ","interfaceLanguage":"swift"},"pathComponents":["Ring","+(_:_:)"],"names":{"title":"+(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"+"},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"+"},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":90,"character":23}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter"],"names":{"title":"Counter","navigator":[{"kind":"identifier","spelling":"Counter"}],"subHeading":[{"kind":"keyword","spelling":"actor"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Counter"}]},"declarationFragments":[{"kind":"keyword","spelling":"actor"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Counter"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":95,"character":13}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","withSerialExecutor(_:)"],"names":{"title":"withSerialExecutor(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">((any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Perform an operation with the actor's ``SerialExecutor``."},{"text":""},{"text":"This converts the actor's ``Actor/unownedExecutor`` to a ``SerialExecutor`` while"},{"text":"retaining the actor for the duration of the operation. This is to ensure the lifetime"},{"text":"of the executor while performing the operation."}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1},{"name":"E","index":1,"depth":1}],"constraints":[{"kind":"conformance","lhs":"E","rhs":"Error","rhsPrecise":"s:s5ErrorP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Error","preciseIdentifier":"s:s5ErrorP"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : ~Copyable"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","withSerialExecutor(_:)"],"names":{"title":"withSerialExecutor(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"keyword","spelling":"nonisolated(nonsending)"},{"kind":"text","spelling":" (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Perform an operation with the actor's ``SerialExecutor``."},{"text":""},{"text":"This converts the actor's ``Actor/unownedExecutor`` to a ``SerialExecutor`` while"},{"text":"retaining the actor for the duration of the operation. This is to ensure the lifetime"},{"text":"of the executor while performing the operation."}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1},{"name":"E","index":1,"depth":1}],"constraints":[{"kind":"conformance","lhs":"E","rhs":"Error","rhsPrecise":"s:s5ErrorP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"nonisolated(nonsending)"},{"kind":"text","spelling":" (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Error","preciseIdentifier":"s:s5ErrorP"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : ~Copyable"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","preconditionIsolated(_:file:line:)"],"names":{"title":"preconditionIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preconditionIsolated"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":")"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Stops program execution if the current task is not executing on this"},{"text":"actor's serial executor."},{"text":""},{"text":"This function's effect varies depending on the build flag used:"},{"text":""},{"text":"* In playgrounds and `-Onone` builds (the default for Xcode's Debug"},{"text":" configuration), stops program execution in a debuggable state after"},{"text":" printing `message`."},{"text":""},{"text":"* In `-O` builds (the default for Xcode's Release configuration), stops"},{"text":" program execution."},{"text":""},{"text":"- Note: Because this check is performed against the actor's serial executor,"},{"text":" if another actor uses the same serial executor--by using"},{"text":" that actor's serial executor as its own ``Actor/unownedExecutor``--this"},{"text":" check will succeed. From a concurrency safety perspective, the"},{"text":" serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - message: The message to print if the assertion fails."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": () -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"text","spelling":"@backDeployed(before: macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0)\n"},{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preconditionIsolated"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" = String(), "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","assertIsolated(_:file:line:)"],"names":{"title":"assertIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assertIsolated"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":")"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Stops program execution if the current task is not executing on this"},{"text":"actor's serial executor."},{"text":""},{"text":"This function's effect varies depending on the build flag used:"},{"text":""},{"text":"* In playgrounds and `-Onone` builds (the default for Xcode's Debug"},{"text":" configuration), stops program execution in a debuggable state after"},{"text":" printing `message`."},{"text":""},{"text":"* In `-O` builds (the default for Xcode's Release configuration),"},{"text":" the isolation check is not performed and there are no effects."},{"text":""},{"text":"- Note: This check is performed against the actor's serial executor,"},{"text":" meaning that / if another actor uses the same serial executor--by using"},{"text":" that actor's serial executor as its own ``Actor/unownedExecutor``--this"},{"text":" check will succeed , as from a concurrency safety perspective, the"},{"text":" serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - message: The message to print if the assertion fails."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": () -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"text","spelling":"@backDeployed(before: macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0)\n"},{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assertIsolated"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" = String(), "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","assumeIsolated(_:file:line:)"],"names":{"title":"assumeIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assumeIsolated"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">(("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"rethrows"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Assume that the current task is executing on this actor's serial executor,"},{"text":"or stop program execution otherwise."},{"text":""},{"text":"You call this method to *assume and verify* that the currently"},{"text":"executing synchronous function is actually executing on the serial"},{"text":"executor of this actor."},{"text":""},{"text":"If that is the case, the operation is invoked with an `isolated` version"},{"text":"of the actor, allowing synchronous access to actor local state without"},{"text":"hopping through asynchronous boundaries."},{"text":""},{"text":"If the current context is not running on the actor's serial executor, or"},{"text":"if the actor is a reference to a remote actor, this method will crash"},{"text":"with a fatal error (similar to ``preconditionIsolated(_:file:line:)``)."},{"text":""},{"text":"Note that this check is performed against the passed in actor's serial"},{"text":"executor, meaning that if another actor uses the same serial executor--by"},{"text":"using that actor's ``Actor/unownedExecutor`` as its own"},{"text":"``Actor/unownedExecutor``--this check will succeed, as from a concurrency"},{"text":"safety perspective, the serial executor guarantees mutual exclusion of"},{"text":"those two actors."},{"text":""},{"text":"This method can only be used from synchronous functions, as asynchronous"},{"text":"functions should instead perform a normal method call to the actor, which"},{"text":"will hop task execution to the target actor if necessary."},{"text":""},{"text":"- Note: This check is performed against the actor's serial executor,"},{"text":" meaning that / if another actor uses the same serial executor--by using"},{"text":" another actor's executor as its own ``Actor/unownedExecutor``"},{"text":" --this check will succeed , as from a concurrency safety perspective,"},{"text":" the serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - operation: the operation that will be executed if the current context"},{"text":" is executing on the actors serial executor."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."},{"text":"- Returns: the return value of the `operation`"},{"text":"- Throws: rethrows the `Error` thrown by the operation if it threw"}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1}],"constraints":[{"kind":"conformance","lhs":"T","rhs":"Sendable","rhsPrecise":"s:s8SendableP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assumeIsolated"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"rethrows"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Sendable","preciseIdentifier":"s:s8SendableP"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7CounterC5valueSivp","interfaceLanguage":"swift"},"pathComponents":["Counter","value"],"names":{"title":"value","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":96,"character":28}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7CounterC4stepSivp","interfaceLanguage":"swift"},"pathComponents":["Counter","step"],"names":{"title":"step","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"step"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"step"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":97,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7CounterCACycfc","interfaceLanguage":"swift"},"pathComponents":["Counter","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":98,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7CounterC9incrementSiyF","interfaceLanguage":"swift"},"pathComponents":["Counter","increment()"],"names":{"title":"increment()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"increment"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"increment"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":99,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7CounterC5labelSSyF","interfaceLanguage":"swift"},"pathComponents":["Counter","label()"],"names":{"title":"label()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":103,"character":28}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6CanvasC","interfaceLanguage":"swift"},"pathComponents":["Canvas"],"names":{"title":"Canvas","navigator":[{"kind":"identifier","spelling":"Canvas"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Canvas"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Canvas"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":107,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6CanvasCACycfc","interfaceLanguage":"swift"},"pathComponents":["Canvas","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":108,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6CanvasC4drawyyAA5Shape_pF","interfaceLanguage":"swift"},"pathComponents":["Canvas","draw(_:)"],"names":{"title":"draw(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draw"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"shape","declarationFragments":[{"kind":"identifier","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draw"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":109,"character":16}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6LoaderC","interfaceLanguage":"swift"},"pathComponents":["Loader"],"names":{"title":"Loader","navigator":[{"kind":"identifier","spelling":"Loader"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Loader"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Loader"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":112,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6LoaderCACycfc","interfaceLanguage":"swift"},"pathComponents":["Loader","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":113,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF","interfaceLanguage":"swift"},"pathComponents":["Loader","load(path:)"],"names":{"title":"load(path:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"load"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"functionSignature":{"parameters":[{"name":"path","declarationFragments":[{"kind":"identifier","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"load"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":115,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF","interfaceLanguage":"swift"},"pathComponents":["Loader","fetch(url:)"],"names":{"title":"fetch(url:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fetch"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"url","declarationFragments":[{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fetch"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":116,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF","interfaceLanguage":"swift"},"pathComponents":["Loader","wait(seconds:)"],"names":{"title":"wait(seconds:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wait"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"}]},"functionSignature":{"parameters":[{"name":"seconds","declarationFragments":[{"kind":"identifier","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wait"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":117,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF","interfaceLanguage":"swift"},"pathComponents":["Loader","transform(_:)"],"names":{"title":"transform(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transform"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"}]},"functionSignature":{"parameters":[{"name":"shape","declarationFragments":[{"kind":"identifier","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":0}],"constraints":[{"kind":"conformance","lhs":"T","rhs":"Shape","rhsPrecise":"s:9SwiftDemo5ShapeP"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transform"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":119,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF","interfaceLanguage":"swift"},"pathComponents":["Loader","first(of:)"],"names":{"title":"first(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Element"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"items","declarationFragments":[{"kind":"identifier","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Element"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"parameters":[{"name":"Element","index":0,"depth":0}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Element"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":120,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC14withCompletionyyys6ResultOySSAA10ShapeErrorOGcF","interfaceLanguage":"swift"},"pathComponents":["Loader","withCompletion(_:)"],"names":{"title":"withCompletion(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withCompletion"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"completion","declarationFragments":[{"kind":"identifier","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withCompletion"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":122,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4eachyyySiXEF","interfaceLanguage":"swift"},"pathComponents":["Loader","each(_:)"],"names":{"title":"each(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"each"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"body","declarationFragments":[{"kind":"identifier","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"each"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":123,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF","interfaceLanguage":"swift"},"pathComponents":["Loader","lookup(table:key:)"],"names":{"title":"lookup(table:key:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lookup"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"table","declarationFragments":[{"kind":"identifier","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},{"name":"key","declarationFragments":[{"kind":"identifier","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lookup"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":125,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC6updateyyAA5PointVzF","interfaceLanguage":"swift"},"pathComponents":["Loader","update(_:)"],"names":{"title":"update(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"point","declarationFragments":[{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"point"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":127,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC10modernOnlyyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","modernOnly()"],"names":{"title":"modernOnly()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"modernOnly"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"modernOnly"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":16,"minor":0}}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":130,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC11legacyFetchyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","legacyFetch()"],"names":{"title":"legacyFetch()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"legacyFetch"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"legacyFetch"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"*","message":"Use fetch(url:) instead","isUnconditionallyDeprecated":true}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":133,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC8oldFetchyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","oldFetch()"],"names":{"title":"oldFetch()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"oldFetch"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"oldFetch"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":15,"minor":0},"deprecated":{"major":17,"minor":0},"renamed":"fetch(url:)"}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":136,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo16makeDefaultPointAA0E0VyF","interfaceLanguage":"swift"},"pathComponents":["makeDefaultPoint()"],"names":{"title":"makeDefaultPoint()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeDefaultPoint"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeDefaultPoint"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":139,"character":12}}},{"kind":{"identifier":"swift.var","displayName":"Global Variable"},"identifier":{"precise":"s:9SwiftDemo13defaultFlavorAA0D0Ovp","interfaceLanguage":"swift"},"pathComponents":["defaultFlavor"],"names":{"title":"defaultFlavor","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"defaultFlavor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"defaultFlavor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":140,"character":11}}},{"kind":{"identifier":"swift.var","displayName":"Global Variable"},"identifier":{"precise":"s:9SwiftDemo13globalCounterSivp","interfaceLanguage":"swift"},"pathComponents":["globalCounter"],"names":{"title":"globalCounter","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"globalCounter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"globalCounter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":141,"character":11}}},{"kind":{"identifier":"swift.typealias","displayName":"Type Alias"},"identifier":{"precise":"s:9SwiftDemo11Coordinatesa","interfaceLanguage":"swift"},"pathComponents":["Coordinates"],"names":{"title":"Coordinates","navigator":[{"kind":"identifier","spelling":"Coordinates"}],"subHeading":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coordinates"}]},"declarationFragments":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coordinates"},{"kind":"text","spelling":" = (latitude"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", longitude"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":142,"character":17}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo11checkedSideyS2dKF","interfaceLanguage":"swift"},"pathComponents":["checkedSide(_:)"],"names":{"title":"checkedSide(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checkedSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checkedSide"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":5,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8echoInt8ys0D0VADF","interfaceLanguage":"swift"},"pathComponents":["echoInt8(_:)"],"names":{"title":"echoInt8(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoInt8"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoInt8"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":10,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10echoUInt64ys0D0VADF","interfaceLanguage":"swift"},"pathComponents":["echoUInt64(_:)"],"names":{"title":"echoUInt64(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoUInt64"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoUInt64"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":11,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10largestIntSiyF","interfaceLanguage":"swift"},"pathComponents":["largestInt()"],"names":{"title":"largestInt()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"largestInt"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"largestInt"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":12,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5shoutySSSgACF","interfaceLanguage":"swift"},"pathComponents":["shout(_:)"],"names":{"title":"shout(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":13,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7TrackerC","interfaceLanguage":"swift"},"pathComponents":["Tracker"],"names":{"title":"Tracker","navigator":[{"kind":"identifier","spelling":"Tracker"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Tracker"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Tracker"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":15,"character":19}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo7TrackerC9liveCountSivpZ","interfaceLanguage":"swift"},"pathComponents":["Tracker","liveCount"],"names":{"title":"liveCount","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"liveCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"liveCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":16,"character":35}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7TrackerC2idSivp","interfaceLanguage":"swift"},"pathComponents":["Tracker","id"],"names":{"title":"id","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":17,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7TrackerC2idACSi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Tracker","init(id:)"],"names":{"title":"init(id:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":19,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7TrackerC4sameACyF","interfaceLanguage":"swift"},"pathComponents":["Tracker","same()"],"names":{"title":"same()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":26,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo11delayedEcho_5afterS2S_SdtYaKF","interfaceLanguage":"swift"},"pathComponents":["delayedEcho(_:after:)"],"names":{"title":"delayedEcho(_:after:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delayedEcho"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"after","internalName":"seconds","declarationFragments":[{"kind":"identifier","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delayedEcho"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":29,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo16makeTrackerLater2idAA0D0CSi_tYaF","interfaceLanguage":"swift"},"pathComponents":["makeTrackerLater(id:)"],"names":{"title":"makeTrackerLater(id:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeTrackerLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeTrackerLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":35,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7PaletteC","interfaceLanguage":"swift"},"pathComponents":["Palette"],"names":{"title":"Palette","navigator":[{"kind":"identifier","spelling":"Palette"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Palette"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Palette"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":41,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PaletteC7strokesSivp","interfaceLanguage":"swift"},"pathComponents":["Palette","strokes"],"names":{"title":"strokes","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":42,"character":28}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PaletteCACycfc","interfaceLanguage":"swift"},"pathComponents":["Palette","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":43,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PaletteC6strokeSiyF","interfaceLanguage":"swift"},"pathComponents":["Palette","stroke()"],"names":{"title":"stroke()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stroke"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stroke"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":44,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PaletteC11strokeLaterSiyYaF","interfaceLanguage":"swift"},"pathComponents":["Palette","strokeLater()"],"names":{"title":"strokeLater()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokeLater"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokeLater"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":48,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5namesySaySSGSiF","interfaceLanguage":"swift"},"pathComponents":["names(_:)"],"names":{"title":"names(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":54,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5totalySdSaySdGF","interfaceLanguage":"swift"},"pathComponents":["total(_:)"],"names":{"title":"total(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"total"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"values","declarationFragments":[{"kind":"identifier","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"total"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":55,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8centroid2ofAA5PointVSayAEG_tF","interfaceLanguage":"swift"},"pathComponents":["centroid(of:)"],"names":{"title":"centroid(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"centroid"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"points","declarationFragments":[{"kind":"identifier","spelling":"points"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"centroid"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"points"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":56,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8mirroredySaySaySiGGADF","interfaceLanguage":"swift"},"pathComponents":["mirrored(_:)"],"names":{"title":"mirrored(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mirrored"},{"kind":"text","spelling":"([["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]) -> [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]},"functionSignature":{"parameters":[{"name":"grid","declarationFragments":[{"kind":"identifier","spelling":"grid"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]}],"returns":[{"kind":"text","spelling":"[["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mirrored"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"grid"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]) -> [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":57,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10wordCountsySDySSSiGSaySSGF","interfaceLanguage":"swift"},"pathComponents":["wordCounts(_:)"],"names":{"title":"wordCounts(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wordCounts"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"words","declarationFragments":[{"kind":"identifier","spelling":"words"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wordCounts"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"words"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":58,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7lengthsySDySSSiGSDyS2SGF","interfaceLanguage":"swift"},"pathComponents":["lengths(_:)"],"names":{"title":"lengths(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lengths"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"table","declarationFragments":[{"kind":"identifier","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lengths"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":61,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8trackersySayAA7TrackerCGSaySiGF","interfaceLanguage":"swift"},"pathComponents":["trackers(_:)"],"names":{"title":"trackers(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"trackers"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"ids","declarationFragments":[{"kind":"identifier","spelling":"ids"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"trackers"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"ids"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":62,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10allFlavorsSayAA6FlavorOGyF","interfaceLanguage":"swift"},"pathComponents":["allFlavors()"],"names":{"title":"allFlavors()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allFlavors"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allFlavors"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":63,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7nextDay5after10Foundation4DateVAF_tF","interfaceLanguage":"swift"},"pathComponents":["nextDay(after:)"],"names":{"title":"nextDay(after:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextDay"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]},"functionSignature":{"parameters":[{"name":"after","internalName":"date","declarationFragments":[{"kind":"identifier","spelling":"date"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextDay"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"date"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":64,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF","interfaceLanguage":"swift"},"pathComponents":["host(of:)"],"names":{"title":"host(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"host"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"url","declarationFragments":[{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"host"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":65,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7resolve_7against10Foundation3URLVSS_AFtF","interfaceLanguage":"swift"},"pathComponents":["resolve(_:against:)"],"names":{"title":"resolve(_:against:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resolve"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"against"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]},"functionSignature":{"parameters":[{"name":"path","declarationFragments":[{"kind":"identifier","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"against","internalName":"base","declarationFragments":[{"kind":"identifier","spelling":"base"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resolve"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"against"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"base"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":66,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8checksumySi10Foundation4DataVF","interfaceLanguage":"swift"},"pathComponents":["checksum(_:)"],"names":{"title":"checksum(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checksum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"parameters":[{"name":"data","declarationFragments":[{"kind":"identifier","spelling":"data"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checksum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"data"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":67,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4rampy10Foundation4DataVSiF","interfaceLanguage":"swift"},"pathComponents":["ramp(_:)"],"names":{"title":"ramp(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ramp"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ramp"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":68,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10namesLaterySaySSGSiYaF","interfaceLanguage":"swift"},"pathComponents":["namesLater(_:)"],"names":{"title":"namesLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"namesLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"namesLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":69,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9countdown4from_ySi_ySi_SbtXEtF","interfaceLanguage":"swift"},"pathComponents":["countdown(from:_:)"],"names":{"title":"countdown(from:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countdown"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"from"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"from","internalName":"start","declarationFragments":[{"kind":"identifier","spelling":"start"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},{"name":"tick","declarationFragments":[{"kind":"identifier","spelling":"tick"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countdown"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"from"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"start"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"tick"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":74,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10greetLater_10completionySSSg_yADYbctF","interfaceLanguage":"swift"},"pathComponents":["greetLater(_:completion:)"],"names":{"title":"greetLater(_:completion:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},{"name":"completion","declarationFragments":[{"kind":"identifier","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":80,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo8NotifierC","interfaceLanguage":"swift"},"pathComponents":["Notifier"],"names":{"title":"Notifier","navigator":[{"kind":"identifier","spelling":"Notifier"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Notifier"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Notifier"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":86,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo8NotifierCACycfc","interfaceLanguage":"swift"},"pathComponents":["Notifier","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":88,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo8NotifierC5countSivp","interfaceLanguage":"swift"},"pathComponents":["Notifier","count"],"names":{"title":"count","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":89,"character":15}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC9subscribeyyySSYbcF","interfaceLanguage":"swift"},"pathComponents":["Notifier","subscribe(_:)"],"names":{"title":"subscribe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribe"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"handler","declarationFragments":[{"kind":"identifier","spelling":"handler"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"handler"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":90,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC7publishyySSF","interfaceLanguage":"swift"},"pathComponents":["Notifier","publish(_:)"],"names":{"title":"publish(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publish"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publish"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":91,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC12publishLateryySSF","interfaceLanguage":"swift"},"pathComponents":["Notifier","publishLater(_:)"],"names":{"title":"publishLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publishLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publishLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":92,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC5clearyyF","interfaceLanguage":"swift"},"pathComponents":["Notifier","clear()"],"names":{"title":"clear()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":96,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4area2ofSdAA11MeasurementO_tF","interfaceLanguage":"swift"},"pathComponents":["area(of:)"],"names":{"title":"area(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"measurement","declarationFragments":[{"kind":"identifier","spelling":"measurement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"measurement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":99,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7measure_2byAA11MeasurementOSd_SdSgtF","interfaceLanguage":"swift"},"pathComponents":["measure(_:by:)"],"names":{"title":"measure(_:by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measure"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"functionSignature":{"parameters":[{"name":"width","declarationFragments":[{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"by","internalName":"height","declarationFragments":[{"kind":"identifier","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":106,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12measurementsSayAA11MeasurementOGyF","interfaceLanguage":"swift"},"pathComponents":["measurements()"],"names":{"title":"measurements()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measurements"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measurements"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":111,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF","interfaceLanguage":"swift"},"pathComponents":["measureLater(_:)"],"names":{"title":"measureLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measureLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"functionSignature":{"parameters":[{"name":"width","declarationFragments":[{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measureLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":113,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9onMeasureyyyAA11MeasurementOXEF","interfaceLanguage":"swift"},"pathComponents":["onMeasure(_:)"],"names":{"title":"onMeasure(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onMeasure"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"body","declarationFragments":[{"kind":"identifier","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onMeasure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":118,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7explainySSAA10ShapeErrorOF","interfaceLanguage":"swift"},"pathComponents":["explain(_:)"],"names":{"title":"explain(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"explain"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"error","declarationFragments":[{"kind":"identifier","spelling":"error"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"explain"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"error"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":120,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7FormulaO","interfaceLanguage":"swift"},"pathComponents":["Formula"],"names":{"title":"Formula","navigator":[{"kind":"identifier","spelling":"Formula"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Formula"}]},"declarationFragments":[{"kind":"keyword","spelling":"indirect"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Formula"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":128,"character":21}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO6numberyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","number(_:)"],"names":{"title":"Formula.number(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"number"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"number"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":129,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","sum(_:_:)"],"names":{"title":"Formula.sum(_:_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":130,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO6negateyA2CcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","negate(_:)"],"names":{"title":"Formula.negate(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"negate"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"negate"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":131,"character":9}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7FormulaO5valueSdvp","interfaceLanguage":"swift"},"pathComponents":["Formula","value"],"names":{"title":"value","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":133,"character":15}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8simplifyyAA7FormulaOADF","interfaceLanguage":"swift"},"pathComponents":["simplify(_:)"],"names":{"title":"simplify(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simplify"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]},"functionSignature":{"parameters":[{"name":"formula","declarationFragments":[{"kind":"identifier","spelling":"formula"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simplify"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"formula"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":142,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7PayloadO","interfaceLanguage":"swift"},"pathComponents":["Payload"],"names":{"title":"Payload","navigator":[{"kind":"identifier","spelling":"Payload"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Payload"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Payload"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":144,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","tracker(_:)"],"names":{"title":"Payload.tracker(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tracker"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tracker"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":145,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","point(_:)"],"names":{"title":"Payload.point(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":146,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","flavor(_:)"],"names":{"title":"Payload.flavor(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flavor"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flavor"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":147,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","maybe(_:)"],"names":{"title":"Payload.maybe(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maybe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?)"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maybe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?)"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":148,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","names(_:)"],"names":{"title":"Payload.names(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":149,"character":9}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4echoyAA7PayloadOADF","interfaceLanguage":"swift"},"pathComponents":["echo(_:)"],"names":{"title":"echo(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echo"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]},"functionSignature":{"parameters":[{"name":"payload","declarationFragments":[{"kind":"identifier","spelling":"payload"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echo"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"payload"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":152,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo3JobO","interfaceLanguage":"swift"},"pathComponents":["Job"],"names":{"title":"Job","navigator":[{"kind":"identifier","spelling":"Job"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Job"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Job"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":155,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo3JobO3runyACyyccACmF","interfaceLanguage":"swift"},"pathComponents":["Job","run(_:)"],"names":{"title":"Job.run(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"run"},{"kind":"text","spelling":"(() -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"run"},{"kind":"text","spelling":"(() -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":156,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo3JobO4idleyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Job","idle"],"names":{"title":"Job.idle","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"idle"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"idle"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":157,"character":9}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket"],"names":{"title":"Job.Ticket","navigator":[{"kind":"identifier","spelling":"Ticket"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ticket"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ticket"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":159,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV2idSivp","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket","id"],"names":{"title":"id","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":160,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV2idAESi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket","init(id:)"],"names":{"title":"init(id:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":161,"character":15}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4bumpyySizF","interfaceLanguage":"swift"},"pathComponents":["bump(_:)"],"names":{"title":"bump(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bump"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bump"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":165,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo6append_2toySS_SaySSGztF","interfaceLanguage":"swift"},"pathComponents":["append(_:to:)"],"names":{"title":"append(_:to:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"append"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}]},"functionSignature":{"parameters":[{"name":"word","declarationFragments":[{"kind":"identifier","spelling":"word"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"to","internalName":"words","declarationFragments":[{"kind":"identifier","spelling":"words"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"append"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"word"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"words"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":166,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5halveyySizKF","interfaceLanguage":"swift"},"pathComponents":["halve(_:)"],"names":{"title":"halve(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"halve"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"halve"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":167,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5clearyySSSgzF","interfaceLanguage":"swift"},"pathComponents":["clear(_:)"],"names":{"title":"clear(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?)"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?)"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":171,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12swapTrackersyyAA7TrackerCz_ADztF","interfaceLanguage":"swift"},"pathComponents":["swapTrackers(_:_:)"],"names":{"title":"swapTrackers(_:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapTrackers"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"a","declarationFragments":[{"kind":"identifier","spelling":"a"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},{"name":"b","declarationFragments":[{"kind":"identifier","spelling":"b"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapTrackers"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"a"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"b"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":172,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8describeySSSo6UIViewCF","interfaceLanguage":"swift"},"pathComponents":["describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"view","declarationFragments":[{"kind":"identifier","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":5,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9makeLabelySo7UILabelCSSF","interfaceLanguage":"swift"},"pathComponents":["makeLabel(_:)"],"names":{"title":"makeLabel(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeLabel"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeLabel"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":7,"character":23}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF","interfaceLanguage":"swift"},"pathComponents":["tags(_:)"],"names":{"title":"tags(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"views","declarationFragments":[{"kind":"identifier","spelling":"views"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"views"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":13,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF","interfaceLanguage":"swift"},"pathComponents":["firstSubview(of:)"],"names":{"title":"firstSubview(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"firstSubview"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"view","declarationFragments":[{"kind":"identifier","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"firstSubview"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":15,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"c:@M@SwiftDemo@objc(cs)Note","interfaceLanguage":"swift"},"pathComponents":["Note"],"names":{"title":"Note","navigator":[{"kind":"identifier","spelling":"Note"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":17,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4NoteC4textSSvp","interfaceLanguage":"swift"},"pathComponents":["Note","text"],"names":{"title":"text","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":18,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo4NoteC4textACSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Note","init(text:)"],"names":{"title":"init(text:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":19,"character":11}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8makeNoteyAA0D0CSSF","interfaceLanguage":"swift"},"pathComponents":["makeNote(_:)"],"names":{"title":"makeNote(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeNote"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeNote"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":22,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4text2ofSSAA4NoteC_tF","interfaceLanguage":"swift"},"pathComponents":["text(of:)"],"names":{"title":"text(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"note","declarationFragments":[{"kind":"identifier","spelling":"note"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"note"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":23,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9noteLateryAA4NoteCSSYaF","interfaceLanguage":"swift"},"pathComponents":["noteLater(_:)"],"names":{"title":"noteLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"noteLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"noteLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":25,"character":12}}}],"relationships":[{"kind":"requirementOf","source":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","target":"s:9SwiftDemo7GreeterP"},{"kind":"conformsTo","source":"s:9SwiftDemo0B0C","target":"s:9SwiftDemo7GreeterP"},{"kind":"memberOf","source":"s:9SwiftDemo0B0CACycfc","target":"s:9SwiftDemo0B0C"},{"kind":"memberOf","source":"s:9SwiftDemo0B0C5greet4nameS2S_tF","target":"s:9SwiftDemo0B0C","sourceOrigin":{"identifier":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","displayName":"Greeter.greet(name:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1xSdvp","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1ySdvp","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1x1yACSd_Sdtcfc","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO7vanillayA2CmF","target":"s:9SwiftDemo6FlavorO"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO9chocolateyA2CmF","target":"s:9SwiftDemo6FlavorO"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:9SwiftDemo0B0C5greet4name5timesS2S_SitF","target":"s:9SwiftDemo0B0C"},{"kind":"memberOf","source":"s:9SwiftDemo0B0C7versionSSvpZ","target":"s:9SwiftDemo0B0C"},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s9EscapableP","targetFallback":"Swift.Escapable"},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s8CopyableP","targetFallback":"Swift.Copyable"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV11descriptionSSvp","target":"s:9SwiftDemo5PointV","sourceOrigin":{"identifier":"s:s23CustomStringConvertibleP11descriptionSSvp","displayName":"CustomStringConvertible.description"}},{"kind":"memberOf","source":"s:9SwiftDemo5PointV6lengthSdvp","target":"s:9SwiftDemo5PointV"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s9EscapableP","targetFallback":"Swift.Escapable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s8CopyableP","targetFallback":"Swift.Copyable"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO11descriptionSSvp","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:s23CustomStringConvertibleP11descriptionSSvp","displayName":"CustomStringConvertible.description"}},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF","target":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF","target":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp","target":"s:9SwiftDemo7PolygonC7MetricsV"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc","target":"s:9SwiftDemo7PolygonC7MetricsV"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5styleAC5StyleOvp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"conformsTo","source":"s:9SwiftDemo5ShapeP","target":"s:9SwiftDemo7GreeterP"},{"kind":"requirementOf","source":"s:9SwiftDemo5ShapeP4areaSdvp","target":"s:9SwiftDemo5ShapeP"},{"kind":"requirementOf","source":"s:9SwiftDemo5ShapeP5sidesSivpZ","target":"s:9SwiftDemo5ShapeP"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4nameSSvp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC11vertexCountSivp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC6sharedACvpZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4nameACSgSS_tcfc","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale2byySd_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale2byySi_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4makeACyFZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC8describeySSACSgFZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonCyAA5PointVSicip","target":"s:9SwiftDemo7PolygonC"},{"kind":"conformsTo","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo5ShapeP"},{"kind":"conformsTo","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo7GreeterP"},{"kind":"inheritsFrom","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4sideSdvp","target":"s:9SwiftDemo6SquareC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4sideACSd_tcfc","target":"s:9SwiftDemo6SquareC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4areaSdvp","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo5ShapeP4areaSdvp","displayName":"Shape.area"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5sidesSivpZ","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo5ShapeP5sidesSivpZ","displayName":"Shape.sides"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5greet4nameS2S_tF","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","displayName":"Greeter.greet(name:)"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5scale2byySd_tF","target":"s:9SwiftDemo6SquareC"},{"kind":"overrides","source":"s:9SwiftDemo6SquareC5scale2byySd_tF","target":"s:9SwiftDemo7PolygonC5scale2byySd_tF"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4rainyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4snowyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4noneyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO","target":"s:9SwiftDemo10ShapeErrorO","sourceOrigin":{"identifier":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp","displayName":"Error.localizedDescription"}},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s5ErrorP","targetFallback":"Swift.Error"},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO7unknownyA2CmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO6lengthyACSdcACmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4noneyA2CmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp","target":"s:9SwiftDemo11MeasurementO4UnitV"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc","target":"s:9SwiftDemo11MeasurementO4UnitV"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO6isNoneSbvp","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5innerAA5PointVvp","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5outerAA5PointVvp","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV6expand2byySd_tF","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV1poiyA2C_ACtFZ","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF","displayName":"Actor.withSerialExecutor(_:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF","displayName":"Actor.withSerialExecutor(_:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF","displayName":"Actor.preconditionIsolated(_:file:line:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF","displayName":"Actor.assertIsolated(_:file:line:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF","displayName":"Actor.assumeIsolated(_:file:line:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:ScA","targetFallback":"_Concurrency.Actor"},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC5valueSivp","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC4stepSivp","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterCACycfc","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC9incrementSiyF","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC5labelSSyF","target":"s:9SwiftDemo7CounterC"},{"kind":"conformsTo","source":"s:9SwiftDemo6CanvasC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"memberOf","source":"s:9SwiftDemo6CanvasCACycfc","target":"s:9SwiftDemo6CanvasC"},{"kind":"memberOf","source":"s:9SwiftDemo6CanvasC4drawyyAA5Shape_pF","target":"s:9SwiftDemo6CanvasC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderCACycfc","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC14withCompletionyyys6ResultOySSAA10ShapeErrorOGcF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4eachyyySiXEF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC6updateyyAA5PointVzF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC10modernOnlyyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC11legacyFetchyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC8oldFetchyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC9liveCountSivpZ","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC2idSivp","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC2idACSi_tcfc","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC4sameACyF","target":"s:9SwiftDemo7TrackerC"},{"kind":"conformsTo","source":"s:9SwiftDemo7PaletteC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC7strokesSivp","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteCACycfc","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC6strokeSiyF","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC11strokeLaterSiyYaF","target":"s:9SwiftDemo7PaletteC"},{"kind":"conformsTo","source":"s:9SwiftDemo8NotifierC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo8NotifierC","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierCACycfc","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC5countSivp","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC9subscribeyyySSYbcF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC7publishyySSF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC12publishLateryySSF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC5clearyyF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO6numberyACSdcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO6negateyA2CcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO5valueSdvp","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO3runyACyyccACmF","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO4idleyA2CmF","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV2idSivp","target":"s:9SwiftDemo3JobO6TicketV"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV2idAESi_tcfc","target":"s:9SwiftDemo3JobO6TicketV"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"c:objc(pl)NSObject","targetFallback":"ObjectiveC.NSObjectProtocol"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s7CVarArgP","targetFallback":"Swift.CVarArg"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s28CustomDebugStringConvertibleP","targetFallback":"Swift.CustomDebugStringConvertible"},{"kind":"inheritsFrom","source":"c:@M@SwiftDemo@objc(cs)Note","target":"c:objc(cs)NSObject","targetFallback":"ObjectiveC.NSObject"},{"kind":"memberOf","source":"s:9SwiftDemo4NoteC4textSSvp","target":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"memberOf","source":"s:9SwiftDemo4NoteC4textACSS_tcfc","target":"c:@M@SwiftDemo@objc(cs)Note"}]} \ No newline at end of file diff --git a/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo@SwiftDemoKit.symbols.json b/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo@SwiftDemoKit.symbols.json new file mode 100644 index 00000000..bff48f55 --- /dev/null +++ b/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo@SwiftDemoKit.symbols.json @@ -0,0 +1 @@ +{"metadata":{"formatVersion":{"major":0,"minor":6,"patch":0},"generator":"Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)"},"module":{"name":"SwiftDemo","platform":{"architecture":"arm64","environment":"simulator","vendor":"apple","operatingSystem":{"name":"ios","minimumVersion":{"major":15,"minor":0}}}},"symbols":[{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:12SwiftDemoKit5MoneyV0aB0E6isZeroSbvp","interfaceLanguage":"swift"},"pathComponents":["Money","isZero"],"names":{"title":"isZero","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isZero"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"SwiftDemoKit","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isZero"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":17,"character":15}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:12SwiftDemoKit5MoneyV0aB0E7doubledACyF","interfaceLanguage":"swift"},"pathComponents":["Money","doubled()"],"names":{"title":"doubled()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"doubled"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"swiftExtension":{"extendedModule":"SwiftDemoKit","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"doubled"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":18,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:12SwiftDemoKit6WalletC0aB0E7summarySSyF","interfaceLanguage":"swift"},"pathComponents":["Wallet","summary()"],"names":{"title":"summary()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"summary"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemoKit","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"summary"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":22,"character":16}}}],"relationships":[{"kind":"memberOf","source":"s:12SwiftDemoKit5MoneyV0aB0E6isZeroSbvp","target":"s:12SwiftDemoKit5MoneyV","targetFallback":"SwiftDemoKit.Money"},{"kind":"memberOf","source":"s:12SwiftDemoKit5MoneyV0aB0E7doubledACyF","target":"s:12SwiftDemoKit5MoneyV","targetFallback":"SwiftDemoKit.Money"},{"kind":"memberOf","source":"s:12SwiftDemoKit6WalletC0aB0E7summarySSyF","target":"s:12SwiftDemoKit6WalletC","targetFallback":"SwiftDemoKit.Wallet"}]} \ No newline at end of file diff --git a/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemoKit.symbols.json b/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemoKit.symbols.json new file mode 100644 index 00000000..9e40be7c --- /dev/null +++ b/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemoKit.symbols.json @@ -0,0 +1 @@ +{"metadata":{"formatVersion":{"major":0,"minor":6,"patch":0},"generator":"Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)"},"module":{"name":"SwiftDemoKit","platform":{"architecture":"arm64","environment":"simulator","vendor":"apple","operatingSystem":{"name":"ios","minimumVersion":{"major":15,"minor":0}}}},"symbols":[{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:12SwiftDemoKit5MoneyV","interfaceLanguage":"swift"},"pathComponents":["Money"],"names":{"title":"Money","navigator":[{"kind":"identifier","spelling":"Money"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Money"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Money"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":3,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:12SwiftDemoKit5MoneyV6amountSivp","interfaceLanguage":"swift"},"pathComponents":["Money","amount"],"names":{"title":"amount","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"amount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"amount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":4,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:12SwiftDemoKit5MoneyV8currencySSvp","interfaceLanguage":"swift"},"pathComponents":["Money","currency"],"names":{"title":"currency","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":5,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:12SwiftDemoKit5MoneyV6amount8currencyACSi_SStcfc","interfaceLanguage":"swift"},"pathComponents":["Money","init(amount:currency:)"],"names":{"title":"init(amount:currency:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"amount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"amount","declarationFragments":[{"kind":"identifier","spelling":"amount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},{"name":"currency","declarationFragments":[{"kind":"identifier","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"amount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":7,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:12SwiftDemoKit5MoneyV6addingyA2CF","interfaceLanguage":"swift"},"pathComponents":["Money","adding(_:)"],"names":{"title":"adding(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"adding"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"adding"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":12,"character":16}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:12SwiftDemoKit6WalletC","interfaceLanguage":"swift"},"pathComponents":["Wallet"],"names":{"title":"Wallet","navigator":[{"kind":"identifier","spelling":"Wallet"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Wallet"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Wallet"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":17,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:12SwiftDemoKit6WalletC5ownerSSvp","interfaceLanguage":"swift"},"pathComponents":["Wallet","owner"],"names":{"title":"owner","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":18,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:12SwiftDemoKit6WalletC7balanceAA5MoneyVvp","interfaceLanguage":"swift"},"pathComponents":["Wallet","balance"],"names":{"title":"balance","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"balance"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"balance"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":19,"character":28}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:12SwiftDemoKit6WalletC5ownerACSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Wallet","init(owner:)"],"names":{"title":"init(owner:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"owner","declarationFragments":[{"kind":"identifier","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":21,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:12SwiftDemoKit6WalletC7deposityyAA5MoneyVF","interfaceLanguage":"swift"},"pathComponents":["Wallet","deposit(_:)"],"names":{"title":"deposit(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deposit"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"money","declarationFragments":[{"kind":"identifier","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deposit"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":26,"character":16}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:12SwiftDemoKit4CoinO","interfaceLanguage":"swift"},"pathComponents":["Coin"],"names":{"title":"Coin","navigator":[{"kind":"identifier","spelling":"Coin"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coin"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coin"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":29,"character":12}}},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:12SwiftDemoKit4CoinO","interfaceLanguage":"swift"},"pathComponents":["Coin","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:12SwiftDemoKit4CoinO5pennyyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Coin","penny"],"names":{"title":"Coin.penny","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"penny"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"penny"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":30,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:12SwiftDemoKit4CoinO4dimeyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Coin","dime"],"names":{"title":"Coin.dime","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dime"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dime"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":30,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:12SwiftDemoKit9formattedySSAA5MoneyVF","interfaceLanguage":"swift"},"pathComponents":["formatted(_:)"],"names":{"title":"formatted(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"formatted"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"money","declarationFragments":[{"kind":"identifier","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"formatted"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":33,"character":12}}}],"relationships":[{"kind":"memberOf","source":"s:12SwiftDemoKit5MoneyV6amountSivp","target":"s:12SwiftDemoKit5MoneyV"},{"kind":"memberOf","source":"s:12SwiftDemoKit5MoneyV8currencySSvp","target":"s:12SwiftDemoKit5MoneyV"},{"kind":"memberOf","source":"s:12SwiftDemoKit5MoneyV6amount8currencyACSi_SStcfc","target":"s:12SwiftDemoKit5MoneyV"},{"kind":"memberOf","source":"s:12SwiftDemoKit5MoneyV6addingyA2CF","target":"s:12SwiftDemoKit5MoneyV"},{"kind":"memberOf","source":"s:12SwiftDemoKit6WalletC5ownerSSvp","target":"s:12SwiftDemoKit6WalletC"},{"kind":"memberOf","source":"s:12SwiftDemoKit6WalletC7balanceAA5MoneyVvp","target":"s:12SwiftDemoKit6WalletC"},{"kind":"memberOf","source":"s:12SwiftDemoKit6WalletC5ownerACSS_tcfc","target":"s:12SwiftDemoKit6WalletC"},{"kind":"memberOf","source":"s:12SwiftDemoKit6WalletC7deposityyAA5MoneyVF","target":"s:12SwiftDemoKit6WalletC"},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:12SwiftDemoKit4CoinO","target":"s:12SwiftDemoKit4CoinO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"conformsTo","source":"s:12SwiftDemoKit4CoinO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:12SwiftDemoKit4CoinO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"memberOf","source":"s:12SwiftDemoKit4CoinO5pennyyA2CmF","target":"s:12SwiftDemoKit4CoinO"},{"kind":"memberOf","source":"s:12SwiftDemoKit4CoinO4dimeyA2CmF","target":"s:12SwiftDemoKit4CoinO"}]} \ No newline at end of file diff --git a/metadata-generator/src/Swift/ProbeEmitter.cpp b/metadata-generator/src/Swift/ProbeEmitter.cpp index 6a57d543..c88ab099 100644 --- a/metadata-generator/src/Swift/ProbeEmitter.cpp +++ b/metadata-generator/src/Swift/ProbeEmitter.cpp @@ -48,7 +48,6 @@ ProbeSource emitProbes(const Module& module, "for"); out.line("// the Swift-generated surface of module " + module.name + "."); out.line("import Foundation"); - out.line("import " + module.name); llvm::SmallVector imports; std::string text = swiftImports(module, classification); llvm::StringRef(text).split(imports, '\n', -1, false); diff --git a/metadata-generator/src/Swift/SwiftIR.cpp b/metadata-generator/src/Swift/SwiftIR.cpp index 71361a7c..b5f4ed1f 100644 --- a/metadata-generator/src/Swift/SwiftIR.cpp +++ b/metadata-generator/src/Swift/SwiftIR.cpp @@ -94,6 +94,10 @@ const Symbol* Module::find(const std::string& preciseId) const { return it == symbols.end() ? nullptr : &it->second; } +std::vector Module::swiftModules() const { + return unitModules.empty() ? std::vector{name} : unitModules; +} + bool ModuleSet::hasErrors() const { for (const auto& diagnostic : diagnostics) { if (diagnostic.severity == Severity::Error) { diff --git a/metadata-generator/src/Swift/SwiftIR.h b/metadata-generator/src/Swift/SwiftIR.h index 382955c0..d79065c8 100644 --- a/metadata-generator/src/Swift/SwiftIR.h +++ b/metadata-generator/src/Swift/SwiftIR.h @@ -196,6 +196,9 @@ struct Symbol { // Set when a cross-import overlay (`_SwiftData_SwiftUI`) rather than the // module itself declares the symbol; code using it must import the overlay. std::string declaringModule; + // The module whose graphs declare the symbol; differs from Module::name in + // a generation unit (see mergeUnit). + std::string module; // Resolved relationships. std::string parentId; @@ -232,6 +235,9 @@ struct Platform { struct Module { std::string name; + // A generation unit: the modules merged into this one, in order. Empty for + // a single module. + std::vector unitModules; Platform platform; Version formatVersion; std::string generator; @@ -247,6 +253,9 @@ struct Module { std::vector topLevelIds; const Symbol* find(const std::string& preciseId) const; + + // The Swift modules this module covers: unitModules, or just `name`. + std::vector swiftModules() const; }; enum class Severity { Warning, Error }; diff --git a/metadata-generator/src/Swift/SwiftSource.cpp b/metadata-generator/src/Swift/SwiftSource.cpp index 18825876..728c5692 100644 --- a/metadata-generator/src/Swift/SwiftSource.cpp +++ b/metadata-generator/src/Swift/SwiftSource.cpp @@ -9,7 +9,10 @@ namespace Swift { std::string declaringModuleName(const Module& module, const Symbol& symbol) { - return symbol.declaringModule.empty() ? module.name : symbol.declaringModule; + if (!symbol.declaringModule.empty()) { + return symbol.declaringModule; + } + return symbol.module.empty() ? module.name : symbol.module; } std::string qualifiedTypeName(const Module& module, const Symbol& symbol) { @@ -129,6 +132,10 @@ namespace { const char* frameworkOfObjCClass(llvm::StringRef name) { static const std::pair prefixes[] = { {"UI", "UIKit"}, + {"NSManaged", "CoreData"}, + {"NSPersistent", "CoreData"}, + {"NSFetch", "CoreData"}, + {"NSEntity", "CoreData"}, {"NS", "Foundation"}, {"CL", "CoreLocation"}, {"AV", "AVFoundation"}, @@ -206,6 +213,9 @@ std::string swiftImports(const Module& module, } } std::string out; + for (const auto& name : module.swiftModules()) { + out += "import " + name + "\n"; + } for (const auto& overlay : overlays) { out += "import " + overlay + "\n"; } @@ -221,7 +231,8 @@ Invocation describeInvocation(const Module& module, const Symbol& symbol, Invocation invocation; const Symbol* owner = symbol.parentId.empty() ? nullptr : module.find(symbol.parentId); - invocation.owner = owner ? ownerTypeText(module, *owner) : module.name; + invocation.owner = owner ? ownerTypeText(module, *owner) + : declaringModuleName(module, symbol); invocation.member = symbol.baseName; invocation.isThrowing = symbol.isThrowing; invocation.isAsync = capability.isAsync; diff --git a/metadata-generator/src/Swift/SwiftSource.h b/metadata-generator/src/Swift/SwiftSource.h index 82f44376..f04ebc99 100644 --- a/metadata-generator/src/Swift/SwiftSource.h +++ b/metadata-generator/src/Swift/SwiftSource.h @@ -19,7 +19,7 @@ std::string declaringModuleName(const Module& module, const Symbol& symbol); // `Module.Outer.Inner` for a module-local type. std::string qualifiedTypeName(const Module& module, const Symbol& symbol); -// The modules generated Swift imports besides Foundation and `module`: +// The imports generated Swift needs besides Foundation: the unit's modules, // cross-import overlays, and frameworks of Objective-C classes in bridged // signatures (as `#if canImport` blocks). std::string swiftImports(const Module& module, diff --git a/metadata-generator/src/Swift/SwiftSurface.cpp b/metadata-generator/src/Swift/SwiftSurface.cpp index 0a4bd881..c4b6d998 100644 --- a/metadata-generator/src/Swift/SwiftSurface.cpp +++ b/metadata-generator/src/Swift/SwiftSurface.cpp @@ -158,7 +158,9 @@ SwiftSurface describeSurface(const Module& module, : symbol.kind == SymbolKind::Actor ? SwiftSurface::kActor : SwiftSurface::kClass; int index = static_cast(surface.types.size()); - surface.types.push_back(SwiftSurface::Type{&symbol, index, kind, -1}); + surface.types.push_back(SwiftSurface::Type{ + &symbol, index, kind, -1, + symbol.module.empty() ? module.name : symbol.module}); surface.typeIndex[symbol.preciseId] = index; } for (auto& type : surface.types) { @@ -179,6 +181,9 @@ SwiftSurface describeSurface(const Module& module, member.symbol = &symbol; member.capability = capability; member.owner = owner ? surface.indexOf(owner->preciseId) : -1; + member.module = member.owner >= 0 ? surface.types[member.owner].module + : symbol.module.empty() ? module.name + : symbol.module; member.kind = memberKind(symbol.kind); member.flags = (symbol.isThrowing ? SwiftSurface::kThrows : 0) | diff --git a/metadata-generator/src/Swift/SwiftSurface.h b/metadata-generator/src/Swift/SwiftSurface.h index c44ae350..2058927c 100644 --- a/metadata-generator/src/Swift/SwiftSurface.h +++ b/metadata-generator/src/Swift/SwiftSurface.h @@ -45,6 +45,8 @@ struct SwiftSurface { TypeKind kind; // Type index of the registered superclass, or -1. int superIndex; + // The Swift module whose JS namespace exposes the type. + std::string module; }; struct Member { @@ -52,6 +54,8 @@ struct SwiftSurface { const Capability* capability; // Type index, or -1 for module-level functions and variables. int owner; + // The owner's module, or the declaring module of a module-level member. + std::string module; MemberKind kind; int flags; std::string signature; diff --git a/metadata-generator/src/Swift/SymbolGraphLoader.cpp b/metadata-generator/src/Swift/SymbolGraphLoader.cpp index 6af36428..4721fd70 100644 --- a/metadata-generator/src/Swift/SymbolGraphLoader.cpp +++ b/metadata-generator/src/Swift/SymbolGraphLoader.cpp @@ -1253,6 +1253,9 @@ ModuleSet SymbolGraphLoader::finish() { ModuleSet result; for (auto& entry : _modules) { resolve(entry.second, _diagnostics); + for (auto& symbol : entry.second.symbols) { + symbol.second.module = entry.second.name; + } } result.modules = std::move(_modules); result.diagnostics = std::move(_diagnostics); @@ -1260,15 +1263,21 @@ ModuleSet SymbolGraphLoader::finish() { } ModuleSet loadSymbolGraphDirectory(const std::string& directory) { - std::vector diagnostics; - auto files = SymbolGraphLoader::findGraphFiles(directory, diagnostics); + return loadSymbolGraphDirectories({directory}); +} +ModuleSet loadSymbolGraphDirectories( + const std::vector& directories) { + std::vector diagnostics; SymbolGraphLoader loader; - for (const auto& file : files) { - llvm::StringRef relative = file; - relative.consume_front(directory); - relative = relative.ltrim('/'); - loader.addFile(file, relative.str()); + for (const auto& directory : directories) { + auto files = SymbolGraphLoader::findGraphFiles(directory, diagnostics); + for (const auto& file : files) { + llvm::StringRef relative = file; + relative.consume_front(directory); + relative = relative.ltrim('/'); + loader.addFile(file, relative.str()); + } } ModuleSet result = loader.finish(); result.diagnostics.insert(result.diagnostics.begin(), diagnostics.begin(), @@ -1276,4 +1285,81 @@ ModuleSet loadSymbolGraphDirectory(const std::string& directory) { return result; } +Module mergeUnit(ModuleSet& set, const std::string& name, + const std::map& reexports) { + Module unit; + unit.name = name; + for (auto& entry : set.modules) { + Module& module = entry.second; + if (unit.unitModules.empty()) { + unit.platform = module.platform; + unit.formatVersion = module.formatVersion; + unit.generator = module.generator; + } + auto reexport = reexports.find(module.name); + std::string owner = + reexport == reexports.end() ? module.name : reexport->second; + if (std::find(unit.unitModules.begin(), unit.unitModules.end(), owner) == + unit.unitModules.end()) { + unit.unitModules.push_back(owner); + } + if (owner != module.name) { + for (auto& symbol : module.symbols) { + symbol.second.module = owner; + } + } + unit.graphFiles.insert(unit.graphFiles.end(), module.graphFiles.begin(), + module.graphFiles.end()); + for (auto& symbol : module.symbols) { + unit.symbols.emplace(symbol.first, std::move(symbol.second)); + } + for (auto& external : module.externalNames) { + unit.externalNames.insert(external); + } + unit.relationships.insert(unit.relationships.end(), + module.relationships.begin(), + module.relationships.end()); + unit.topLevelIds.insert(unit.topLevelIds.end(), module.topLevelIds.begin(), + module.topLevelIds.end()); + } + // Extensions of a type another module of the unit declares. + for (auto& entry : set.modules) { + for (auto& external : entry.second.externalTypes) { + auto target = unit.symbols.find(external.first); + if (target == unit.symbols.end()) { + ExternalType& kept = unit.externalTypes[external.first]; + if (kept.preciseId.empty()) { + kept = external.second; + } else { + kept.memberIds.insert(kept.memberIds.end(), + external.second.memberIds.begin(), + external.second.memberIds.end()); + kept.conformances.insert(kept.conformances.end(), + external.second.conformances.begin(), + external.second.conformances.end()); + } + continue; + } + Symbol& type = target->second; + for (const auto& id : external.second.memberIds) { + if (std::find(type.memberIds.begin(), type.memberIds.end(), id) == + type.memberIds.end()) { + type.memberIds.push_back(id); + } + } + for (const auto& id : external.second.conformances) { + if (std::find(type.conformances.begin(), type.conformances.end(), id) == + type.conformances.end()) { + type.conformances.push_back(id); + } + } + } + } + for (const auto& id : unit.symbols) { + unit.externalNames.erase(id.first); + } + set.modules.clear(); + return unit; +} + } // namespace Swift diff --git a/metadata-generator/src/Swift/SymbolGraphLoader.h b/metadata-generator/src/Swift/SymbolGraphLoader.h index 75d21607..2061a68a 100644 --- a/metadata-generator/src/Swift/SymbolGraphLoader.h +++ b/metadata-generator/src/Swift/SymbolGraphLoader.h @@ -47,4 +47,17 @@ class SymbolGraphLoader { // Convenience: find, load and resolve every graph under `directory`. ModuleSet loadSymbolGraphDirectory(const std::string& directory); +// Every graph under each of `directories`, as one set. +ModuleSet loadSymbolGraphDirectories( + const std::vector& directories); + +// Merges the modules of `set` into one generation unit named `name`, so +// declarations can name each other's types and extend them. Symbols keep +// their own module (Symbol::module); a module's extensions of another +// module's types become members of those types. `reexports` maps a module +// that is an implementation detail of another (SwiftUICore -> SwiftUI) to +// the module code imports and names it through; its symbols join that one. +Module mergeUnit(ModuleSet& set, const std::string& name, + const std::map& reexports = {}); + } // namespace Swift diff --git a/metadata-generator/src/Swift/ThunkEmitter.cpp b/metadata-generator/src/Swift/ThunkEmitter.cpp index 409630e4..88709641 100644 --- a/metadata-generator/src/Swift/ThunkEmitter.cpp +++ b/metadata-generator/src/Swift/ThunkEmitter.cpp @@ -17,6 +17,7 @@ namespace { constexpr int kRegisterModuleSlot = 10 * 8; constexpr int kRegisterTypeSlot = 11 * 8; constexpr int kRegisterMemberSlot = 12 * 8; +constexpr int kRegisterUnitModuleSlot = 42 * 8; std::string quoted(const std::string& text) { std::string out = "\""; @@ -38,7 +39,9 @@ class Emitter { ThunkSource run() { ThunkSource result; - result.registerSymbol = "ns_swift_register_" + _module.name; + for (const auto& name : _module.swiftModules()) { + result.registerSymbols.push_back("ns_swift_register_" + name); + } std::string thunks; for (const auto& member : _surface.members) { @@ -393,16 +396,12 @@ class Emitter { Invocation invocation = describeInvocation(_module, symbol, capability); const Symbol* owner = symbol.parentId.empty() ? nullptr : _module.find(symbol.parentId); - int ownerIndex = member.owner; - int kind = member.kind; int flags = member.flags; - const std::string& signature = member.signature; const BridgedType& result = member.result; - if (kind == SwiftSurface::kEnumCase) { - // Case values are their names; nothing to call. - addRegistration(ownerIndex, kind, flags, capability.jsName, symbol.name, - signature, "nil", "nil"); + if (member.kind == SwiftSurface::kEnumCase) { + // Cases are values (names, or objects JS builds); nothing to call. + addRegistration(member, "nil", "nil"); return ""; } @@ -490,21 +489,19 @@ class Emitter { setterName = "__nsThunk" + std::to_string(setterIndex); } - addRegistration(ownerIndex, kind, flags, capability.jsName, symbol.name, - signature, "__nsThunk" + std::to_string(getterIndex), + addRegistration(member, "__nsThunk" + std::to_string(getterIndex), setterName); return code; } - void addRegistration(int owner, int kind, int flags, - const std::string& jsName, const std::string& swiftName, - const std::string& signature, const std::string& thunk, - const std::string& setter) { + void addRegistration(const SwiftSurface::Member& member, + const std::string& thunk, const std::string& setter) { _registrations.push_back( - " registerMember(registrar, " + std::to_string(owner) + ", " + - std::to_string(kind) + ", " + std::to_string(flags) + ", " + - quoted(jsName) + ", " + quoted(swiftName) + ", " + quoted(signature) + - ", " + thunk + ", " + setter + ")"); + " registerMember(registrar, " + std::to_string(member.owner) + ", " + + std::to_string(member.kind) + ", " + std::to_string(member.flags) + + ", " + quoted(member.module) + ", " + + quoted(member.capability->jsName) + ", " + quoted(member.symbol->name) + + ", " + quoted(member.signature) + ", " + thunk + ", " + setter + ")"); } std::string header() const { @@ -514,9 +511,7 @@ class Emitter { "// NativeScript Swift interop thunks, ABI " + std::to_string(kThunkABIVersion) + ": see NativeScript/runtime/SwiftInterop.h.\n" - "import Foundation\n" - "import " + - _module.name + "\n"; + "import Foundation\n"; return out + swiftImports(_module, _classification) + "\n"; } @@ -1065,39 +1060,41 @@ private func __nsRelease(_ object: UnsafeMutableRawPointer) { } std::string registration(const ThunkSource& result) const { - std::string out = "#if hasAttribute(c)\n@c(" + result.registerSymbol + - ")\n#else\n@_cdecl(\"" + result.registerSymbol + - "\")\n#endif\n" - "public func __nsRegister_" + - _module.name + - "(_ registrar: UnsafeMutableRawPointer) {\n" - " let api = registrar.load(as: UnsafeRawPointer.self)\n" - " let registerModule = api.load(fromByteOffset: " + - std::to_string(kRegisterModuleSlot) + - ", as: (@convention(c) (UnsafeMutableRawPointer, UInt32, " - "UnsafePointer, " - "UnsafePointer, __NSRelease) -> Void).self)\n" - " let registerType = api.load(fromByteOffset: " + - std::to_string(kRegisterTypeSlot) + - ", as: (@convention(c) (UnsafeMutableRawPointer, UInt32, " - "UInt32, UnsafePointer, " - "UnsafePointer, Int32) -> Void).self)\n" - " let registerMember = api.load(fromByteOffset: " + - std::to_string(kRegisterMemberSlot) + - ", as: (@convention(c) (UnsafeMutableRawPointer, Int32, " - "UInt32, UInt32, " - "UnsafePointer, UnsafePointer, " - "UnsafePointer, __NSThunk?, " - "__NSThunk?) -> Void).self)\n\n" - " registerModule(registrar, " + - std::to_string(kThunkABIVersion) + ", " + - quoted(_module.name) + ", " + quoted(result.fingerprint) + - ", __nsRelease)\n"; + std::string out = + "private func __nsRegister(_ registrar: UnsafeMutableRawPointer) {\n" + " let api = registrar.load(as: UnsafeRawPointer.self)\n" + " let registerModule = api.load(fromByteOffset: " + + std::to_string(kRegisterModuleSlot) + + ", as: (@convention(c) (UnsafeMutableRawPointer, UInt32, " + "UnsafePointer, " + "UnsafePointer, __NSRelease) -> Void).self)\n" + " let registerType = api.load(fromByteOffset: " + + std::to_string(kRegisterTypeSlot) + + ", as: (@convention(c) (UnsafeMutableRawPointer, UInt32, " + "UInt32, UnsafePointer, UnsafePointer, " + "UnsafePointer, Int32) -> Void).self)\n" + " let registerMember = api.load(fromByteOffset: " + + std::to_string(kRegisterMemberSlot) + + ", as: (@convention(c) (UnsafeMutableRawPointer, Int32, " + "UInt32, UInt32, UnsafePointer, " + "UnsafePointer, UnsafePointer, " + "UnsafePointer, __NSThunk?, " + "__NSThunk?) -> Void).self)\n" + " let registerUnitModule = api.load(fromByteOffset: " + + std::to_string(kRegisterUnitModuleSlot) + + ", as: (@convention(c) (UnsafeMutableRawPointer, " + "UnsafePointer) -> Void).self)\n\n" + " registerModule(registrar, " + + std::to_string(kThunkABIVersion) + ", " + quoted(_module.name) + ", " + + quoted(result.fingerprint) + ", __nsRelease)\n"; + for (const auto& name : _module.swiftModules()) { + out += " registerUnitModule(registrar, " + quoted(name) + ")\n"; + } for (const auto& type : _surface.types) { const Symbol& symbol = *type.symbol; int kind = type.kind; out += " registerType(registrar, " + std::to_string(type.index) + ", " + - std::to_string(kind) + ", " + + std::to_string(kind) + ", " + quoted(type.module) + ", " + quoted(llvm::join(symbol.pathComponents, ".")) + ", " + quoted(qualifiedTypeName(_module, symbol)) + ", " + std::to_string(type.superIndex) + ")\n"; @@ -1105,7 +1102,16 @@ private func __nsRelease(_ object: UnsafeMutableRawPointer) { for (const auto& line : _registrations) { out += line + "\n"; } - return out + "}\n"; + out += "}\n"; + for (size_t i = 0; i < result.registerSymbols.size(); i++) { + const std::string& symbol = result.registerSymbols[i]; + out += "\n#if hasAttribute(c)\n@c(" + symbol + ")\n#else\n@_cdecl(\"" + + symbol + "\")\n#endif\npublic func __nsRegister_" + + _module.swiftModules()[i] + + "(_ registrar: UnsafeMutableRawPointer) {\n " + "__nsRegister(registrar)\n}\n"; + } + return out; } std::string fingerprint(const std::vector& registrations) const { diff --git a/metadata-generator/src/Swift/ThunkEmitter.h b/metadata-generator/src/Swift/ThunkEmitter.h index b858d1dc..00747ce1 100644 --- a/metadata-generator/src/Swift/ThunkEmitter.h +++ b/metadata-generator/src/Swift/ThunkEmitter.h @@ -9,12 +9,13 @@ namespace Swift { // ABI version the emitted thunks implement; must match NS_SWIFT_ABI_VERSION // in NativeScript/runtime/SwiftInterop.h, which documents the contract. -constexpr int kThunkABIVersion = 7; +constexpr int kThunkABIVersion = 8; struct ThunkSource { std::string source; - // Exported C symbol the runtime calls to register the module. - std::string registerSymbol; + // Exported C symbols the runtime looks up to register the unit, one per + // Swift module (`ns_swift_register_`); each registers all of it. + std::vector registerSymbols; // Changes whenever the registered surface changes. std::string fingerprint; int thunkCount = 0; diff --git a/metadata-generator/src/TypeScript/SwiftDefinitionWriter.cpp b/metadata-generator/src/TypeScript/SwiftDefinitionWriter.cpp index 216a7508..656d8893 100644 --- a/metadata-generator/src/TypeScript/SwiftDefinitionWriter.cpp +++ b/metadata-generator/src/TypeScript/SwiftDefinitionWriter.cpp @@ -21,6 +21,8 @@ using Member = SwiftSurface::Member; // members. struct Group { int owner; + // Module-level members: their module. + std::string module; SwiftSurface::MemberKind kind; std::string jsName; std::vector overloads; @@ -151,17 +153,20 @@ std::string typedKey(const SwiftSurface& surface, const Member& member) { class Writer { public: - Writer(const Module& module, const Classification& classification) - : _module(module), _surface(describeSurface(module, classification)) {} + Writer(const Module& module, const Classification& classification, + const std::string& moduleName) + : _module(module), + _name(moduleName), + _surface(describeSurface(module, classification)) {} std::string write() { buildGroups(); - _out << "// Generated by objc-metadata-generator from the " << _module.name + _out << "// Generated by objc-metadata-generator from the " << _name << " symbol graphs. Do not edit.\n" - << "// The JavaScript surface ns:swift exposes for " << _module.name + << "// The JavaScript surface ns:swift exposes for " << _name << ": every declaration is backed by a generated thunk.\n\n" - << "declare module \"ns:swift/" << _module.name << "\" {\n"; + << "declare module \"ns:swift/" << _name << "\" {\n"; buildTree(); for (const auto& path : _topLevel) { @@ -172,8 +177,8 @@ class Writer { _out << "}\n\n" << "declare module \"ns:swift\" {\n" << " interface SwiftModules {\n" - << " " << propertyKey(_module.name) << ": typeof import(\"ns:swift/" - << _module.name << "\");\n" + << " " << propertyKey(_name) << ": typeof import(\"ns:swift/" + << _name << "\");\n" << " }\n" << "}\n"; return _out.str(); @@ -181,15 +186,16 @@ class Writer { private: void buildGroups() { - std::map, size_t> index; + std::map, size_t> index; for (const auto& member : _surface.members) { + std::string module = member.owner < 0 ? member.module : ""; auto key = std::make_tuple(member.owner, static_cast(member.kind), - member.capability->jsName); + member.capability->jsName, module); auto it = index.find(key); if (it == index.end()) { index.emplace(key, _groups.size()); - _groups.push_back( - Group{member.owner, member.kind, member.capability->jsName, {}}); + _groups.push_back(Group{ + member.owner, module, member.kind, member.capability->jsName, {}}); it = index.find(key); } _groups[it->second].overloads.push_back(&member); @@ -203,8 +209,9 @@ class Writer { } for (int ancestor = _surface.types[group.owner].superIndex; ancestor >= 0; ancestor = _surface.types[ancestor].superIndex) { - auto inherited = index.find(std::make_tuple( - ancestor, static_cast(group.kind), group.jsName)); + auto inherited = + index.find(std::make_tuple(ancestor, static_cast(group.kind), + group.jsName, std::string())); if (inherited == index.end()) { continue; } @@ -325,9 +332,15 @@ class Writer { std::string typeName(const BridgedType& type) const { int index = _surface.indexOf(type.symbolId); - return index >= 0 - ? llvm::join(_surface.types[index].symbol->pathComponents, ".") - : "unknown"; + return index >= 0 ? typePath(_surface.types[index]) : "unknown"; + } + + // `type` as this module's declarations name it. + std::string typePath(const SwiftSurface::Type& type) const { + std::string path = llvm::join(type.symbol->pathComponents, "."); + return type.module == _name + ? path + : "import(\"ns:swift/" + type.module + "\")." + path; } // NativeScript's Objective-C typings declare classes globally by their @@ -561,6 +574,9 @@ class Writer { void buildTree() { for (const auto& type : _surface.types) { + if (type.module != _name) { + continue; + } const auto& components = type.symbol->pathComponents; std::string path; for (size_t i = 0; i < components.size(); i++) { @@ -600,9 +616,7 @@ class Writer { writeDoc(symbol, indent); _out << indent << "export class " << symbol.name; if (type.superIndex >= 0) { - _out << " extends " - << llvm::join(_surface.types[type.superIndex].symbol->pathComponents, - "."); + _out << " extends " << typePath(_surface.types[type.superIndex]); } _out << " {\n"; @@ -750,7 +764,7 @@ class Writer { void writeModuleMembers() { for (const Group& group : _groups) { - if (group.owner >= 0) { + if (group.owner >= 0 || group.module != _name) { continue; } const Member& first = *group.overloads[0]; @@ -776,6 +790,8 @@ class Writer { } const Module& _module; + // The unit module these declarations are for. + std::string _name; SwiftSurface _surface; std::vector _groups; std::map _nodes; @@ -786,7 +802,7 @@ class Writer { } // namespace std::string SwiftDefinitionWriter::write() { - return Writer(_module, _classification).write(); + return Writer(_module, _classification, _moduleName).write(); } } // namespace TypeScript diff --git a/metadata-generator/src/TypeScript/SwiftDefinitionWriter.h b/metadata-generator/src/TypeScript/SwiftDefinitionWriter.h index be825314..c0e7e13e 100644 --- a/metadata-generator/src/TypeScript/SwiftDefinitionWriter.h +++ b/metadata-generator/src/TypeScript/SwiftDefinitionWriter.h @@ -8,20 +8,26 @@ namespace TypeScript { // Writes `swift!.d.ts`: the module's JavaScript surface as `ns:swift` -// exposes it. Only declarations with generated thunks are declared, through -// the same registration model the thunks are emitted from (SwiftSurface), so -// the declarations describe exactly what runs. +// exposes it. For a generation unit, `moduleName` picks one of its modules; +// types of the unit's other modules are referenced through their own +// `ns:swift/` declarations. Only declarations with generated thunks are +// declared, through the same registration model the thunks are emitted from +// (SwiftSurface), so the declarations describe exactly what runs. class SwiftDefinitionWriter { public: SwiftDefinitionWriter(const Swift::Module& module, - const Swift::Classification& classification) - : _module(module), _classification(classification) {} + const Swift::Classification& classification, + std::string moduleName = "") + : _module(module), + _classification(classification), + _moduleName(moduleName.empty() ? module.name : std::move(moduleName)) {} std::string write(); private: const Swift::Module& _module; const Swift::Classification& _classification; + std::string _moduleName; }; } // namespace TypeScript diff --git a/metadata-generator/src/main.cpp b/metadata-generator/src/main.cpp index eea794f4..77337f3e 100644 --- a/metadata-generator/src/main.cpp +++ b/metadata-generator/src/main.cpp @@ -47,7 +47,22 @@ llvm::cl::opt cla_clangArgumentsDelimiter(llvm::cl::Positional, llvm::cl llvm::cl::list cla_clangArguments(llvm::cl::ConsumeAfter, llvm::cl::desc("...")); // Swift support -llvm::cl::opt cla_swiftSymbolGraphDir("swift-symbolgraph-dir", llvm::cl::desc("Directory containing Swift .symbolgraph files to import"), llvm::cl::value_desc("")); +llvm::cl::list cla_swiftSymbolGraphDir( + "swift-symbolgraph-dir", + llvm::cl::desc( + "Directory containing Swift .symbolgraph files to import (repeatable)"), + llvm::cl::value_desc("")); +llvm::cl::list cla_swiftReexports( + "swift-reexport", + llvm::cl::desc("=: module Detail is an implementation " + "detail Module re-exports; generated code names it through " + "Module (repeatable; SwiftUICore=SwiftUI is implied)"), + llvm::cl::value_desc("=")); +llvm::cl::opt cla_swiftUnit( + "swift-unit", + llvm::cl::desc("Generate every imported Swift module as one unit with this " + "name: one thunk file, cross-module types and extensions"), + llvm::cl::value_desc("")); llvm::cl::opt cla_skipObjC("skip-objc", llvm::cl::desc("Skip Objective-C parsing and only run Swift symbolgraph import"), llvm::cl::init(false)); llvm::cl::opt cla_swiftIROutputDir( "swift-ir-output", @@ -305,8 +320,9 @@ int main(int argc, const char** argv) // Swift: read symbol graphs and emit TS bool swiftFailed = false; if (!cla_swiftSymbolGraphDir.empty()) { - Swift::ModuleSet swiftModules = - Swift::loadSymbolGraphDirectory(cla_swiftSymbolGraphDir); + Swift::ModuleSet swiftModules = Swift::loadSymbolGraphDirectories( + std::vector(cla_swiftSymbolGraphDir.begin(), + cla_swiftSymbolGraphDir.end())); for (const auto& diagnostic : swiftModules.diagnostics) { std::cerr << (diagnostic.severity == Swift::Severity::Error ? "error" @@ -355,6 +371,21 @@ int main(int argc, const char** argv) entry.second.platform.minimumVersion = target; } } + if (!cla_swiftUnit.empty() && !swiftFailed) { + std::map reexports = { + {"SwiftUICore", "SwiftUI"}}; + for (const auto& entry : cla_swiftReexports) { + auto parts = llvm::StringRef(entry).split('='); + reexports[parts.first.str()] = parts.second.str(); + } + for (auto it = reexports.begin(); it != reexports.end();) { + it = swiftModules.modules.count(it->second) ? std::next(it) + : reexports.erase(it); + } + Swift::Module unit = + Swift::mergeUnit(swiftModules, cla_swiftUnit, reexports); + swiftModules.modules.emplace(unit.name, std::move(unit)); + } for (const auto& entry : swiftModules.modules) { const Swift::Module& module = entry.second; @@ -413,11 +444,13 @@ int main(int argc, const char** argv) classification = Swift::classify(module); } if (!cla_outputDtsFolder.empty()) { - TypeScript::SwiftDefinitionWriter swiftWriter(module, - classification); - swiftFailed |= !writeFile(cla_outputDtsFolder, - "swift!" + module.name + ".d.ts", - swiftWriter.write()); + for (const auto& name : module.swiftModules()) { + TypeScript::SwiftDefinitionWriter swiftWriter( + module, classification, name); + swiftFailed |= + !writeFile(cla_outputDtsFolder, "swift!" + name + ".d.ts", + swiftWriter.write()); + } } if (!cla_swiftCoverageOutputDir.empty()) { swiftFailed |= !writeFile( diff --git a/metadata-generator/tests/swift/SwiftToolchain.h b/metadata-generator/tests/swift/SwiftToolchain.h index 22b75eac..7c92a32f 100644 --- a/metadata-generator/tests/swift/SwiftToolchain.h +++ b/metadata-generator/tests/swift/SwiftToolchain.h @@ -14,8 +14,8 @@ // Helpers for tests that run the Swift compiler against the fixture module. namespace TestSupport { -// Directory holding SwiftDemo.swiftmodule built from the fixture sources, or -// "" when no Swift toolchain is available. +// Directory holding SwiftDemoKit.swiftmodule and SwiftDemo.swiftmodule built +// from the fixture sources, or "" when no Swift toolchain is available. inline const std::string& fixtureModuleDirectory() { static std::string directory = [] { if (!llvm::sys::findProgramByName("xcrun")) { @@ -25,12 +25,17 @@ inline const std::string& fixtureModuleDirectory() { if (llvm::sys::fs::createUniqueDirectory("swift-fixture", path)) { return std::string(); } - std::string command = - "xcrun swiftc -emit-module -module-name SwiftDemo " + std::string flags = "-target arm64-apple-ios15.0-simulator " - "-sdk \"$(xcrun --sdk iphonesimulator --show-sdk-path)\" " - "-emit-module-path '" + - path.str().str() + + "-sdk \"$(xcrun --sdk iphonesimulator --show-sdk-path)\" -I '" + + path.str().str() + "' "; + std::string command = + "xcrun swiftc -emit-module -module-name SwiftDemoKit " + flags + + "-emit-module-path '" + path.str().str() + + "/SwiftDemoKit.swiftmodule' '" SWIFT_FIXTURE_DIR + "'/Sources/SwiftDemoKit/*.swift && " + "xcrun swiftc -emit-module -module-name SwiftDemo " + flags + + "-emit-module-path '" + path.str().str() + "/SwiftDemo.swiftmodule' '" SWIFT_FIXTURE_DIR "'/Sources/SwiftDemo/*.swift"; auto shell = llvm::sys::findProgramByName("sh"); diff --git a/metadata-generator/tests/swift/SymbolGraphLoaderTests.cpp b/metadata-generator/tests/swift/SymbolGraphLoaderTests.cpp index e262cf8f..6513c818 100644 --- a/metadata-generator/tests/swift/SymbolGraphLoaderTests.cpp +++ b/metadata-generator/tests/swift/SymbolGraphLoaderTests.cpp @@ -60,11 +60,12 @@ std::string symbolJSON(const std::string& id, const std::string& kind, } // namespace TEST(LoadsFixtureWithoutDiagnostics) { - CHECK_EQ(fixture().modules.size(), size_t(1)); + CHECK_EQ(fixture().modules.size(), size_t(2)); CHECK_EQ(diagnosticCodes(fixture().diagnostics), std::string()); const Module& module = demo(); CHECK_EQ(module.name, std::string("SwiftDemo")); - CHECK_EQ(module.graphFiles.size(), size_t(2)); + CHECK_EQ(llvm::join(module.unitModules, ","), std::string("SwiftDemo,SwiftDemoKit")); + CHECK_EQ(module.graphFiles.size(), size_t(4)); CHECK_EQ(module.platform.operatingSystem, std::string("ios")); CHECK_EQ(module.platform.environment, std::string("simulator")); } @@ -78,6 +79,9 @@ TEST(TopLevelDeclarationsInSourceOrder) { "Demo", "Point", "Flavor", + "starterWallet(for:)", + "sum(of:)", + "flip(_:)", "Shape", "Polygon", "Square", @@ -141,7 +145,11 @@ TEST(TopLevelDeclarationsInSourceOrder) { "Note", "makeNote(_:)", "text(of:)", - "noteLater(_:)"}; + "noteLater(_:)", + "Money", + "Wallet", + "Coin", + "formatted(_:)"}; CHECK_EQ(llvm::join(names, ","), llvm::join(expected, ",")); } @@ -497,15 +505,17 @@ TEST(IRSnapshot) { checkSnapshot("SwiftDemo.ir.json", dumpModuleJSON(demo())); } TEST(TypeScriptSnapshot) { Classification classification = classify(demo()); - TypeScript::SwiftDefinitionWriter writer(demo(), classification); - checkSnapshot("swift!SwiftDemo.d.ts", writer.write()); + for (const auto& name : demo().swiftModules()) { + TypeScript::SwiftDefinitionWriter writer(demo(), classification, name); + checkSnapshot("swift!" + name + ".d.ts", writer.write()); + } } TEST(LoadOrderDoesNotChangeTheIR) { std::vector diagnostics; auto files = SymbolGraphLoader::findGraphFiles(SWIFT_FIXTURE_GRAPHS_DIR, diagnostics); - REQUIRE(files.size() == 2); + REQUIRE(files.size() == 4); SymbolGraphLoader reversed; for (auto it = files.rbegin(); it != files.rend(); ++it) { @@ -513,7 +523,7 @@ TEST(LoadOrderDoesNotChangeTheIR) { } ModuleSet set = reversed.finish(); REQUIRE(set.modules.count("SwiftDemo")); - CHECK(dumpModuleJSON(set.modules.at("SwiftDemo")) == dumpModuleJSON(demo())); + CHECK(dumpModuleJSON(mergeUnit(set, "SwiftDemo")) == dumpModuleJSON(demo())); } TEST(InvalidJSONIsAnError) { diff --git a/metadata-generator/tests/swift/TestSupport.h b/metadata-generator/tests/swift/TestSupport.h index 29da1b0c..5b499afb 100644 --- a/metadata-generator/tests/swift/TestSupport.h +++ b/metadata-generator/tests/swift/TestSupport.h @@ -23,10 +23,13 @@ inline const ModuleSet& fixture() { return set; } +// SwiftDemo and SwiftDemoKit as one generation unit, named SwiftDemo. inline const Module& demo() { - static const Module empty; - auto it = fixture().modules.find("SwiftDemo"); - return it == fixture().modules.end() ? empty : it->second; + static const Module unit = [] { + ModuleSet set = loadSymbolGraphDirectory(SWIFT_FIXTURE_GRAPHS_DIR); + return mergeUnit(set, "SwiftDemo"); + }(); + return unit; } inline std::vector symbolsAt(const Module& module, diff --git a/metadata-generator/tests/swift/ThunkEmitterTests.cpp b/metadata-generator/tests/swift/ThunkEmitterTests.cpp index bea82aaf..1bdccb29 100644 --- a/metadata-generator/tests/swift/ThunkEmitterTests.cpp +++ b/metadata-generator/tests/swift/ThunkEmitterTests.cpp @@ -42,10 +42,12 @@ TEST(ThunksTypeCheck) { } TEST(ThunkRegistration) { - CHECK_EQ(thunks().registerSymbol, std::string("ns_swift_register_SwiftDemo")); + CHECK(thunks().registerSymbols == + (std::vector{"ns_swift_register_SwiftDemo", + "ns_swift_register_SwiftDemoKit"})); CHECK_EQ(thunks().fingerprint.size(), size_t(16)); CHECK(thunks().thunkCount > 0); - CHECK(registers("registerModule(registrar, 7, \"SwiftDemo\", \"" + + CHECK(registers("registerModule(registrar, 8, \"SwiftDemo\", \"" + thunks().fingerprint + "\", __nsRelease)")); // Cases of a tagged enum register their associated values' codes. CHECK(registers("\"tooManySides\", \"tooManySides(count:limit:)\", \"i64,i64>t")); @@ -66,8 +68,8 @@ TEST(ThunkRegistration) { // Failable initializer of a class returns an optional object. CHECK(registers("\"constructor\", \"init(name:)\", \"s>o")); // Ambiguous overloads carry the flag (4) and stay distinct by signature. - CHECK(registers(", 1, 4, \"scale\", \"scale(by:)\", \"f64>v\"")); - CHECK(registers(", 1, 4, \"scale\", \"scale(by:)\", \"i64>v\"")); + CHECK(registers(", 1, 4, \"SwiftDemo\", \"scale\", \"scale(by:)\", \"f64>v\"")); + CHECK(registers(", 1, 4, \"SwiftDemo\", \"scale\", \"scale(by:)\", \"i64>v\"")); // Enum cases register without a thunk. CHECK(registers("\"vanilla\", \"vanilla\", \">e")); // A case named `none` maps to the enum's case, not Optional.none. @@ -114,8 +116,10 @@ TEST(TypeScriptUsageCompiles) { return path.str().str(); }; Classification classification = classify(demo()); - write("swift-SwiftDemo.d.ts", - TypeScript::SwiftDefinitionWriter(demo(), classification).write()); + for (const auto& name : demo().swiftModules()) { + write("swift-" + name + ".d.ts", + TypeScript::SwiftDefinitionWriter(demo(), classification, name).write()); + } auto usage = llvm::MemoryBuffer::getFile(SWIFT_TEST_DIR "/typescript/usage.ts"); REQUIRE(usage); @@ -124,7 +128,8 @@ TEST(TypeScriptUsageCompiles) { "/index.d.ts\" />\n" "/// \n" - "/// \n" + + "/// \n" + "/// \n" + (*usage)->getBuffer().str()); llvm::SmallString<128> log(directory); diff --git a/metadata-generator/tests/swift/snapshots/SwiftDemo.coverage.json b/metadata-generator/tests/swift/snapshots/SwiftDemo.coverage.json index 6880ebcb..8989495f 100644 --- a/metadata-generator/tests/swift/snapshots/SwiftDemo.coverage.json +++ b/metadata-generator/tests/swift/snapshots/SwiftDemo.coverage.json @@ -2,24 +2,24 @@ "module": "SwiftDemo", "totals": { "declarations": { - "total": 202, + "total": 223, "objc-direct": 1, - "swift-generated": 165, + "swift-generated": 185, "swift-specialized": 5, "type-only": 6, - "unsupported": 25, + "unsupported": 26, "not-applicable": 0 }, "callable": { - "total": 176, + "total": 194, "objc-direct": 0, - "swift-generated": 144, + "swift-generated": 161, "swift-specialized": 5, "type-only": 3, - "unsupported": 24, + "unsupported": 25, "not-applicable": 0 }, - "effectiveCallable": 144, + "effectiveCallable": 161, "compilerVerified": false, "compiledThunks": null, "runtimeTested": null @@ -35,63 +35,63 @@ "not-applicable": 0 }, "class": { - "total": 9, + "total": 10, "objc-direct": 1, - "swift-generated": 8, + "swift-generated": 9, "swift-specialized": 0, "type-only": 0, "unsupported": 0, "not-applicable": 0 }, "enum": { - "total": 8, + "total": 9, "objc-direct": 0, - "swift-generated": 7, + "swift-generated": 8, "swift-specialized": 0, "type-only": 0, "unsupported": 1, "not-applicable": 0 }, "enumCase": { - "total": 23, + "total": 25, "objc-direct": 0, - "swift-generated": 21, + "swift-generated": 23, "swift-specialized": 0, "type-only": 0, "unsupported": 2, "not-applicable": 0 }, "function": { - "total": 44, + "total": 48, "objc-direct": 0, - "swift-generated": 44, + "swift-generated": 48, "swift-specialized": 0, "type-only": 0, "unsupported": 0, "not-applicable": 0 }, "initializer": { - "total": 19, + "total": 21, "objc-direct": 0, - "swift-generated": 18, + "swift-generated": 20, "swift-specialized": 0, "type-only": 0, "unsupported": 1, "not-applicable": 0 }, "instanceMethod": { - "total": 41, + "total": 45, "objc-direct": 0, - "swift-generated": 27, + "swift-generated": 31, "swift-specialized": 5, "type-only": 1, "unsupported": 8, "not-applicable": 0 }, "instanceProperty": { - "total": 32, + "total": 37, "objc-direct": 0, - "swift-generated": 26, + "swift-generated": 31, "swift-specialized": 0, "type-only": 1, "unsupported": 5, @@ -107,12 +107,12 @@ "not-applicable": 0 }, "operator": { - "total": 4, + "total": 5, "objc-direct": 0, "swift-generated": 0, "swift-specialized": 0, "type-only": 0, - "unsupported": 4, + "unsupported": 5, "not-applicable": 0 }, "protocol": { @@ -125,9 +125,9 @@ "not-applicable": 0 }, "struct": { - "total": 5, + "total": 6, "objc-direct": 0, - "swift-generated": 5, + "swift-generated": 6, "swift-specialized": 0, "type-only": 0, "unsupported": 0, @@ -176,7 +176,7 @@ "existential": 1, "external-type-extension": 2, "generic": 8, - "operator": 4, + "operator": 5, "owner-not-bridged": 4, "subscript": 1, "unbridged-type": 12 @@ -192,6 +192,139 @@ ], "location": "file://Sources/SwiftDemo/Views.swift:18" }, + { + "id": "s:12SwiftDemoKit4CoinO", + "path": "Coin", + "kind": "enum", + "tier": "swift-generated", + "location": "file://Sources/SwiftDemoKit/Money.swift:30" + }, + { + "id": "s:12SwiftDemoKit4CoinO4dimeyA2CmF", + "path": "Coin.dime", + "kind": "enumCase", + "tier": "swift-generated", + "jsName": "dime", + "location": "file://Sources/SwiftDemoKit/Money.swift:31" + }, + { + "id": "s:12SwiftDemoKit4CoinO5pennyyA2CmF", + "path": "Coin.penny", + "kind": "enumCase", + "tier": "swift-generated", + "jsName": "penny", + "location": "file://Sources/SwiftDemoKit/Money.swift:31" + }, + { + "id": "s:12SwiftDemoKit5MoneyV", + "path": "Money", + "kind": "struct", + "tier": "swift-generated", + "location": "file://Sources/SwiftDemoKit/Money.swift:4" + }, + { + "id": "s:12SwiftDemoKit5MoneyV0aB0E6isZeroSbvp", + "path": "Money.isZero", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "isZero", + "location": "file://Sources/SwiftDemo/Purse.swift:18" + }, + { + "id": "s:12SwiftDemoKit5MoneyV0aB0E7doubledACyF", + "path": "Money.doubled()", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "doubled", + "location": "file://Sources/SwiftDemo/Purse.swift:19" + }, + { + "id": "s:12SwiftDemoKit5MoneyV6addingyA2CF", + "path": "Money.adding(_:)", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "adding", + "location": "file://Sources/SwiftDemoKit/Money.swift:13" + }, + { + "id": "s:12SwiftDemoKit5MoneyV6amount8currencyACSi_SStcfc", + "path": "Money.init(amount:currency:)", + "kind": "initializer", + "tier": "swift-generated", + "jsName": "constructor", + "location": "file://Sources/SwiftDemoKit/Money.swift:8" + }, + { + "id": "s:12SwiftDemoKit5MoneyV6amountSivp", + "path": "Money.amount", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "amount", + "location": "file://Sources/SwiftDemoKit/Money.swift:5" + }, + { + "id": "s:12SwiftDemoKit5MoneyV8currencySSvp", + "path": "Money.currency", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "currency", + "location": "file://Sources/SwiftDemoKit/Money.swift:6" + }, + { + "id": "s:12SwiftDemoKit6WalletC", + "path": "Wallet", + "kind": "class", + "tier": "swift-generated", + "location": "file://Sources/SwiftDemoKit/Money.swift:18" + }, + { + "id": "s:12SwiftDemoKit6WalletC0aB0E7summarySSyF", + "path": "Wallet.summary()", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "summary", + "location": "file://Sources/SwiftDemo/Purse.swift:23" + }, + { + "id": "s:12SwiftDemoKit6WalletC5ownerACSS_tcfc", + "path": "Wallet.init(owner:)", + "kind": "initializer", + "tier": "swift-generated", + "jsName": "constructor", + "location": "file://Sources/SwiftDemoKit/Money.swift:22" + }, + { + "id": "s:12SwiftDemoKit6WalletC5ownerSSvp", + "path": "Wallet.owner", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "owner", + "location": "file://Sources/SwiftDemoKit/Money.swift:19" + }, + { + "id": "s:12SwiftDemoKit6WalletC7balanceAA5MoneyVvp", + "path": "Wallet.balance", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "balance", + "location": "file://Sources/SwiftDemoKit/Money.swift:20" + }, + { + "id": "s:12SwiftDemoKit6WalletC7deposityyAA5MoneyVF", + "path": "Wallet.deposit(_:)", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "deposit", + "location": "file://Sources/SwiftDemoKit/Money.swift:27" + }, + { + "id": "s:12SwiftDemoKit9formattedySSAA5MoneyVF", + "path": "formatted(_:)", + "kind": "function", + "tier": "swift-generated", + "jsName": "formatted", + "location": "file://Sources/SwiftDemoKit/Money.swift:34" + }, { "id": "s:9SwiftDemo0B0C", "path": "Demo", @@ -484,6 +617,14 @@ "jsName": "globalCounter", "location": "file://Sources/SwiftDemo/Shapes.swift:142" }, + { + "id": "s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF", + "path": "starterWallet(for:)", + "kind": "function", + "tier": "swift-generated", + "jsName": "starterWallet", + "location": "file://Sources/SwiftDemo/Purse.swift:5" + }, { "id": "s:9SwiftDemo16makeDefaultPointAA0E0VyF", "path": "makeDefaultPoint()", @@ -554,6 +695,14 @@ "jsName": "id", "location": "file://Sources/SwiftDemo/Values.swift:161" }, + { + "id": "s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF", + "path": "sum(of:)", + "kind": "function", + "tier": "swift-generated", + "jsName": "sum", + "location": "file://Sources/SwiftDemo/Purse.swift:11" + }, { "id": "s:9SwiftDemo4NoteC4textACSS_tcfc", "path": "Note.init(text:)", @@ -647,6 +796,14 @@ "jsName": "echo", "location": "file://Sources/SwiftDemo/Values.swift:153" }, + { + "id": "s:9SwiftDemo4flipy0aB3Kit4CoinOAEF", + "path": "flip(_:)", + "kind": "function", + "tier": "swift-generated", + "jsName": "flip", + "location": "file://Sources/SwiftDemo/Purse.swift:15" + }, { "id": "s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF", "path": "host(of:)", @@ -1629,6 +1786,15 @@ "jsName": "onMeasure", "location": "file://Sources/SwiftDemo/Values.swift:119" }, + { + "id": "s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:12SwiftDemoKit4CoinO", + "path": "Coin.!=(_:_:)", + "kind": "operator", + "tier": "unsupported", + "reasons": [ + "operator" + ] + }, { "id": "s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO", "path": "Precipitation.!=(_:_:)", diff --git a/metadata-generator/tests/swift/snapshots/SwiftDemo.ir.json b/metadata-generator/tests/swift/snapshots/SwiftDemo.ir.json index 1d222577..e281d7ac 100644 --- a/metadata-generator/tests/swift/snapshots/SwiftDemo.ir.json +++ b/metadata-generator/tests/swift/snapshots/SwiftDemo.ir.json @@ -10,13 +10,18 @@ }, "graphFiles": [ "SwiftDemo.symbols.json", - "SwiftDemo@Swift.symbols.json" + "SwiftDemo@Swift.symbols.json", + "SwiftDemo@SwiftDemoKit.symbols.json", + "SwiftDemoKit.symbols.json" ], "topLevel": [ "s:9SwiftDemo7GreeterP", "s:9SwiftDemo0B0C", "s:9SwiftDemo5PointV", "s:9SwiftDemo6FlavorO", + "s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF", + "s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF", + "s:9SwiftDemo4flipy0aB3Kit4CoinOAEF", "s:9SwiftDemo5ShapeP", "s:9SwiftDemo7PolygonC", "s:9SwiftDemo6SquareC", @@ -80,7 +85,11 @@ "c:@M@SwiftDemo@objc(cs)Note", "s:9SwiftDemo8makeNoteyAA0D0CSSF", "s:9SwiftDemo4text2ofSSAA4NoteC_tF", - "s:9SwiftDemo9noteLateryAA4NoteCSSYaF" + "s:9SwiftDemo9noteLateryAA4NoteCSSYaF", + "s:12SwiftDemoKit5MoneyV", + "s:12SwiftDemoKit6WalletC", + "s:12SwiftDemoKit4CoinO", + "s:12SwiftDemoKit9formattedySSAA5MoneyVF" ], "externalTypes": [ { @@ -147,6 +156,355 @@ ], "superclass": "c:objc(cs)NSObject" }, + { + "id": "s:12SwiftDemoKit4CoinO", + "kind": "enum", + "path": "Coin", + "name": "Coin", + "access": "public", + "declaration": "enum Coin", + "location": "file://Sources/SwiftDemoKit/Money.swift:29:12", + "graph": "SwiftDemoKit.symbols.json", + "members": [ + "s:12SwiftDemoKit4CoinO5pennyyA2CmF", + "s:12SwiftDemoKit4CoinO4dimeyA2CmF", + "s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:12SwiftDemoKit4CoinO" + ], + "conformances": [ + "s:SH", + "s:SQ" + ] + }, + { + "id": "s:12SwiftDemoKit4CoinO4dimeyA2CmF", + "kind": "enumCase", + "path": "Coin.dime", + "name": "dime", + "access": "public", + "declaration": "case dime", + "location": "file://Sources/SwiftDemoKit/Money.swift:30:16", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit4CoinO" + }, + { + "id": "s:12SwiftDemoKit4CoinO5pennyyA2CmF", + "kind": "enumCase", + "path": "Coin.penny", + "name": "penny", + "access": "public", + "declaration": "case penny", + "location": "file://Sources/SwiftDemoKit/Money.swift:30:9", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit4CoinO" + }, + { + "id": "s:12SwiftDemoKit5MoneyV", + "kind": "struct", + "path": "Money", + "name": "Money", + "access": "public", + "declaration": "struct Money", + "location": "file://Sources/SwiftDemoKit/Money.swift:3:14", + "graph": "SwiftDemoKit.symbols.json", + "members": [ + "s:12SwiftDemoKit5MoneyV6amountSivp", + "s:12SwiftDemoKit5MoneyV8currencySSvp", + "s:12SwiftDemoKit5MoneyV6amount8currencyACSi_SStcfc", + "s:12SwiftDemoKit5MoneyV6addingyA2CF", + "s:12SwiftDemoKit5MoneyV0aB0E6isZeroSbvp", + "s:12SwiftDemoKit5MoneyV0aB0E7doubledACyF" + ] + }, + { + "id": "s:12SwiftDemoKit5MoneyV0aB0E6isZeroSbvp", + "kind": "instanceProperty", + "path": "Money.isZero", + "name": "isZero", + "access": "public", + "declaration": "var isZero: Bool { get }", + "valueType": { + "spelling": "Bool", + "references": [ + "s:Sb" + ] + }, + "settable": false, + "extension": { + "extendedModule": "SwiftDemoKit", + "typeKind": "swift.struct" + }, + "location": "file://Sources/SwiftDemo/Purse.swift:17:15", + "graph": "SwiftDemo@SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit5MoneyV" + }, + { + "id": "s:12SwiftDemoKit5MoneyV0aB0E7doubledACyF", + "kind": "instanceMethod", + "path": "Money.doubled()", + "name": "doubled()", + "access": "public", + "declaration": "func doubled() -> Money", + "returns": { + "spelling": "Money", + "references": [ + "s:12SwiftDemoKit5MoneyV" + ] + }, + "extension": { + "extendedModule": "SwiftDemoKit", + "typeKind": "swift.struct" + }, + "location": "file://Sources/SwiftDemo/Purse.swift:18:16", + "graph": "SwiftDemo@SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit5MoneyV" + }, + { + "id": "s:12SwiftDemoKit5MoneyV6addingyA2CF", + "kind": "instanceMethod", + "path": "Money.adding(_:)", + "name": "adding(_:)", + "access": "public", + "declaration": "func adding(_ other: Money) -> Money", + "parameters": [ + { + "internalName": "other", + "type": { + "spelling": "Money", + "references": [ + "s:12SwiftDemoKit5MoneyV" + ] + } + } + ], + "returns": { + "spelling": "Money", + "references": [ + "s:12SwiftDemoKit5MoneyV" + ] + }, + "location": "file://Sources/SwiftDemoKit/Money.swift:12:16", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit5MoneyV" + }, + { + "id": "s:12SwiftDemoKit5MoneyV6amount8currencyACSi_SStcfc", + "kind": "initializer", + "path": "Money.init(amount:currency:)", + "name": "init(amount:currency:)", + "access": "public", + "declaration": "init(amount: Int, currency: String)", + "parameters": [ + { + "label": "amount", + "internalName": "amount", + "type": { + "spelling": "Int", + "references": [ + "s:Si" + ] + } + }, + { + "label": "currency", + "internalName": "currency", + "type": { + "spelling": "String", + "references": [ + "s:SS" + ] + } + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:7:11", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit5MoneyV" + }, + { + "id": "s:12SwiftDemoKit5MoneyV6amountSivp", + "kind": "instanceProperty", + "path": "Money.amount", + "name": "amount", + "access": "public", + "declaration": "var amount: Int", + "valueType": { + "spelling": "Int", + "references": [ + "s:Si" + ] + }, + "settable": true, + "location": "file://Sources/SwiftDemoKit/Money.swift:4:15", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit5MoneyV" + }, + { + "id": "s:12SwiftDemoKit5MoneyV8currencySSvp", + "kind": "instanceProperty", + "path": "Money.currency", + "name": "currency", + "access": "public", + "declaration": "var currency: String", + "valueType": { + "spelling": "String", + "references": [ + "s:SS" + ] + }, + "settable": true, + "location": "file://Sources/SwiftDemoKit/Money.swift:5:15", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit5MoneyV" + }, + { + "id": "s:12SwiftDemoKit6WalletC", + "kind": "class", + "path": "Wallet", + "name": "Wallet", + "access": "public", + "declaration": "final class Wallet", + "modifiers": [ + "final" + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:17:19", + "graph": "SwiftDemoKit.symbols.json", + "members": [ + "s:12SwiftDemoKit6WalletC5ownerSSvp", + "s:12SwiftDemoKit6WalletC7balanceAA5MoneyVvp", + "s:12SwiftDemoKit6WalletC5ownerACSS_tcfc", + "s:12SwiftDemoKit6WalletC7deposityyAA5MoneyVF", + "s:12SwiftDemoKit6WalletC0aB0E7summarySSyF" + ] + }, + { + "id": "s:12SwiftDemoKit6WalletC0aB0E7summarySSyF", + "kind": "instanceMethod", + "path": "Wallet.summary()", + "name": "summary()", + "access": "public", + "declaration": "func summary() -> String", + "returns": { + "spelling": "String", + "references": [ + "s:SS" + ] + }, + "extension": { + "extendedModule": "SwiftDemoKit", + "typeKind": "swift.class" + }, + "location": "file://Sources/SwiftDemo/Purse.swift:22:16", + "graph": "SwiftDemo@SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit6WalletC" + }, + { + "id": "s:12SwiftDemoKit6WalletC5ownerACSS_tcfc", + "kind": "initializer", + "path": "Wallet.init(owner:)", + "name": "init(owner:)", + "access": "public", + "declaration": "init(owner: String)", + "parameters": [ + { + "label": "owner", + "internalName": "owner", + "type": { + "spelling": "String", + "references": [ + "s:SS" + ] + } + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:21:11", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit6WalletC" + }, + { + "id": "s:12SwiftDemoKit6WalletC5ownerSSvp", + "kind": "instanceProperty", + "path": "Wallet.owner", + "name": "owner", + "access": "public", + "declaration": "let owner: String", + "valueType": { + "spelling": "String", + "references": [ + "s:SS" + ] + }, + "settable": false, + "let": true, + "location": "file://Sources/SwiftDemoKit/Money.swift:18:15", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit6WalletC" + }, + { + "id": "s:12SwiftDemoKit6WalletC7balanceAA5MoneyVvp", + "kind": "instanceProperty", + "path": "Wallet.balance", + "name": "balance", + "access": "public", + "declaration": "var balance: Money { get }", + "valueType": { + "spelling": "Money", + "references": [ + "s:12SwiftDemoKit5MoneyV" + ] + }, + "settable": false, + "location": "file://Sources/SwiftDemoKit/Money.swift:19:28", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit6WalletC" + }, + { + "id": "s:12SwiftDemoKit6WalletC7deposityyAA5MoneyVF", + "kind": "instanceMethod", + "path": "Wallet.deposit(_:)", + "name": "deposit(_:)", + "access": "public", + "declaration": "func deposit(_ money: Money)", + "parameters": [ + { + "internalName": "money", + "type": { + "spelling": "Money", + "references": [ + "s:12SwiftDemoKit5MoneyV" + ] + } + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:26:16", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit6WalletC" + }, + { + "id": "s:12SwiftDemoKit9formattedySSAA5MoneyVF", + "kind": "function", + "path": "formatted(_:)", + "name": "formatted(_:)", + "access": "public", + "declaration": "func formatted(_ money: Money) -> String", + "parameters": [ + { + "internalName": "money", + "type": { + "spelling": "Money", + "references": [ + "s:12SwiftDemoKit5MoneyV" + ] + } + } + ], + "returns": { + "spelling": "String", + "references": [ + "s:SS" + ] + }, + "location": "file://Sources/SwiftDemoKit/Money.swift:33:12", + "graph": "SwiftDemoKit.symbols.json" + }, { "id": "s:9SwiftDemo0B0C", "kind": "class", @@ -975,6 +1333,34 @@ "location": "file://Sources/SwiftDemo/Shapes.swift:141:11", "graph": "SwiftDemo.symbols.json" }, + { + "id": "s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF", + "kind": "function", + "path": "starterWallet(for:)", + "name": "starterWallet(for:)", + "access": "public", + "declaration": "func starterWallet(for owner: String) -> Wallet", + "parameters": [ + { + "label": "for", + "internalName": "owner", + "type": { + "spelling": "String", + "references": [ + "s:SS" + ] + } + } + ], + "returns": { + "spelling": "Wallet", + "references": [ + "s:12SwiftDemoKit6WalletC" + ] + }, + "location": "file://Sources/SwiftDemo/Purse.swift:4:12", + "graph": "SwiftDemo.symbols.json" + }, { "id": "s:9SwiftDemo16makeDefaultPointAA0E0VyF", "kind": "function", @@ -1123,6 +1509,34 @@ "graph": "SwiftDemo.symbols.json", "parent": "s:9SwiftDemo3JobO6TicketV" }, + { + "id": "s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF", + "kind": "function", + "path": "sum(of:)", + "name": "sum(of:)", + "access": "public", + "declaration": "func sum(of amounts: [Money]) -> Money", + "parameters": [ + { + "label": "of", + "internalName": "amounts", + "type": { + "spelling": "[Money]", + "references": [ + "s:12SwiftDemoKit5MoneyV" + ] + } + } + ], + "returns": { + "spelling": "Money", + "references": [ + "s:12SwiftDemoKit5MoneyV" + ] + }, + "location": "file://Sources/SwiftDemo/Purse.swift:10:12", + "graph": "SwiftDemo.symbols.json" + }, { "id": "s:9SwiftDemo4NoteC4textACSS_tcfc", "kind": "initializer", @@ -1395,6 +1809,33 @@ "location": "file://Sources/SwiftDemo/Values.swift:152:12", "graph": "SwiftDemo.symbols.json" }, + { + "id": "s:9SwiftDemo4flipy0aB3Kit4CoinOAEF", + "kind": "function", + "path": "flip(_:)", + "name": "flip(_:)", + "access": "public", + "declaration": "func flip(_ coin: Coin) -> Coin", + "parameters": [ + { + "internalName": "coin", + "type": { + "spelling": "Coin", + "references": [ + "s:12SwiftDemoKit4CoinO" + ] + } + } + ], + "returns": { + "spelling": "Coin", + "references": [ + "s:12SwiftDemoKit4CoinO" + ] + }, + "location": "file://Sources/SwiftDemo/Purse.swift:14:12", + "graph": "SwiftDemo.symbols.json" + }, { "id": "s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF", "kind": "function", @@ -4264,6 +4705,48 @@ "location": "file://Sources/SwiftDemo/Values.swift:118:12", "graph": "SwiftDemo.symbols.json" }, + { + "id": "s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:12SwiftDemoKit4CoinO", + "kind": "operator", + "path": "Coin.!=(_:_:)", + "name": "!=(_:_:)", + "access": "public", + "declaration": "static func != (lhs: borrowing Self, rhs: borrowing Self) -> Bool", + "modifiers": [ + "static" + ], + "static": true, + "synthesized": true, + "parameters": [ + { + "internalName": "lhs", + "type": { + "spelling": "Self" + }, + "modifier": "borrowing" + }, + { + "internalName": "rhs", + "type": { + "spelling": "Self" + }, + "modifier": "borrowing" + } + ], + "returns": { + "spelling": "Bool", + "references": [ + "s:Sb" + ] + }, + "extension": { + "extendedModule": "Swift", + "typeKind": "swift.protocol" + }, + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit4CoinO", + "sourceOrigin": "s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ" + }, { "id": "s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO", "kind": "operator", diff --git a/metadata-generator/tests/swift/snapshots/SwiftDemo.probe.swift b/metadata-generator/tests/swift/snapshots/SwiftDemo.probe.swift index 270fa448..076999c5 100644 --- a/metadata-generator/tests/swift/snapshots/SwiftDemo.probe.swift +++ b/metadata-generator/tests/swift/snapshots/SwiftDemo.probe.swift @@ -2,805 +2,902 @@ // the Swift-generated surface of module SwiftDemo. import Foundation import SwiftDemo +import SwiftDemoKit #if canImport(UIKit) import UIKit #endif +// s:12SwiftDemoKit4CoinO +func __nsProbe0(_ value: SwiftDemoKit.Coin) -> SwiftDemoKit.Coin { value } + +// s:12SwiftDemoKit4CoinO4dimeyA2CmF +func __nsProbe1() { + let _: SwiftDemoKit.Coin = SwiftDemoKit.Coin.`dime` +} + +// s:12SwiftDemoKit4CoinO5pennyyA2CmF +func __nsProbe2() { + let _: SwiftDemoKit.Coin = SwiftDemoKit.Coin.`penny` +} + +// s:12SwiftDemoKit5MoneyV +func __nsProbe3(_ value: SwiftDemoKit.Money) -> SwiftDemoKit.Money { value } + +// s:12SwiftDemoKit5MoneyV0aB0E6isZeroSbvp +func __nsProbe4(_ receiver: SwiftDemoKit.Money) { + let _: Bool = receiver.`isZero` +} + +// s:12SwiftDemoKit5MoneyV0aB0E7doubledACyF +func __nsProbe5(_ receiver: SwiftDemoKit.Money) { + let _: SwiftDemoKit.Money = receiver.`doubled`() +} + +// s:12SwiftDemoKit5MoneyV6addingyA2CF +func __nsProbe6(_ receiver: SwiftDemoKit.Money, _ a0: SwiftDemoKit.Money) { + let _: SwiftDemoKit.Money = receiver.`adding`(a0) +} + +// s:12SwiftDemoKit5MoneyV6amount8currencyACSi_SStcfc +func __nsProbe7(_ a0: Int, _ a1: String) { + let _: SwiftDemoKit.Money = SwiftDemoKit.Money(amount: a0, currency: a1) +} + +// s:12SwiftDemoKit5MoneyV6amountSivp +func __nsProbe8(_ receiver: inout SwiftDemoKit.Money, _ newValue: Int) { + let _: Int = receiver.`amount` + receiver.`amount` = newValue +} + +// s:12SwiftDemoKit5MoneyV8currencySSvp +func __nsProbe9(_ receiver: inout SwiftDemoKit.Money, _ newValue: String) { + let _: String = receiver.`currency` + receiver.`currency` = newValue +} + +// s:12SwiftDemoKit6WalletC +func __nsProbe10(_ value: SwiftDemoKit.Wallet) -> SwiftDemoKit.Wallet { value } + +// s:12SwiftDemoKit6WalletC0aB0E7summarySSyF +func __nsProbe11(_ receiver: SwiftDemoKit.Wallet) { + let _: String = receiver.`summary`() +} + +// s:12SwiftDemoKit6WalletC5ownerACSS_tcfc +func __nsProbe12(_ a0: String) { + let _: SwiftDemoKit.Wallet = SwiftDemoKit.Wallet(owner: a0) +} + +// s:12SwiftDemoKit6WalletC5ownerSSvp +func __nsProbe13(_ receiver: SwiftDemoKit.Wallet) { + let _: String = receiver.`owner` +} + +// s:12SwiftDemoKit6WalletC7balanceAA5MoneyVvp +func __nsProbe14(_ receiver: SwiftDemoKit.Wallet) { + let _: SwiftDemoKit.Money = receiver.`balance` +} + +// s:12SwiftDemoKit6WalletC7deposityyAA5MoneyVF +func __nsProbe15(_ receiver: SwiftDemoKit.Wallet, _ a0: SwiftDemoKit.Money) { + let _: Void = receiver.`deposit`(a0) +} + +// s:12SwiftDemoKit9formattedySSAA5MoneyVF +func __nsProbe16(_ a0: SwiftDemoKit.Money) { + let _: String = SwiftDemoKit.`formatted`(a0) +} + // s:9SwiftDemo0B0C -func __nsProbe0(_ value: SwiftDemo.Demo) -> SwiftDemo.Demo { value } +func __nsProbe17(_ value: SwiftDemo.Demo) -> SwiftDemo.Demo { value } // s:9SwiftDemo0B0C5greet4name5timesS2S_SitF -func __nsProbe1(_ receiver: SwiftDemo.Demo, _ a0: String, _ a1: Int) { +func __nsProbe18(_ receiver: SwiftDemo.Demo, _ a0: String, _ a1: Int) { let _: String = receiver.`greet`(name: a0, times: a1) } // s:9SwiftDemo0B0C5greet4nameS2S_tF -func __nsProbe2(_ receiver: SwiftDemo.Demo, _ a0: String) { +func __nsProbe19(_ receiver: SwiftDemo.Demo, _ a0: String) { let _: String = receiver.`greet`(name: a0) } // s:9SwiftDemo0B0C7versionSSvpZ -func __nsProbe3() { +func __nsProbe20() { let _: String = SwiftDemo.Demo.`version` } // s:9SwiftDemo0B0CACycfc -func __nsProbe4() { +func __nsProbe21() { let _: SwiftDemo.Demo = SwiftDemo.Demo() } // s:9SwiftDemo10ShapeErrorO -func __nsProbe5(_ value: SwiftDemo.ShapeError) -> SwiftDemo.ShapeError { value } +func __nsProbe22(_ value: SwiftDemo.ShapeError) -> SwiftDemo.ShapeError { value } // s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF -func __nsProbe6(_ a0: Double) { +func __nsProbe23(_ a0: Double) { let _: SwiftDemo.ShapeError = SwiftDemo.ShapeError.`invalidSide`(a0) } // s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF -func __nsProbe7(_ a0: Int, _ a1: Int) { +func __nsProbe24(_ a0: Int, _ a1: Int) { let _: SwiftDemo.ShapeError = SwiftDemo.ShapeError.`tooManySides`(count: a0, limit: a1) } // s:9SwiftDemo10ShapeErrorO7unknownyA2CmF -func __nsProbe8() { +func __nsProbe25() { let _: SwiftDemo.ShapeError = SwiftDemo.ShapeError.`unknown` } // s:9SwiftDemo10allFlavorsSayAA6FlavorOGyF -func __nsProbe9() { +func __nsProbe26() { let _: [SwiftDemo.Flavor] = SwiftDemo.`allFlavors`() } // s:9SwiftDemo10echoUInt64ys0D0VADF -func __nsProbe10(_ a0: UInt64) { +func __nsProbe27(_ a0: UInt64) { let _: UInt64 = SwiftDemo.`echoUInt64`(a0) } // s:9SwiftDemo10greetLater_10completionySSSg_yADYbctF -func __nsProbe11(_ a0: String?, _ a1: @escaping @Sendable (String?) -> Void) { +func __nsProbe28(_ a0: String?, _ a1: @escaping @Sendable (String?) -> Void) { let _: Void = SwiftDemo.`greetLater`(a0, completion: a1) } // s:9SwiftDemo10largestIntSiyF -func __nsProbe12() { +func __nsProbe29() { let _: Int = SwiftDemo.`largestInt`() } // s:9SwiftDemo10namesLaterySaySSGSiYaF -func __nsProbe13(_ a0: Int) async { +func __nsProbe30(_ a0: Int) async { let _: [String] = await SwiftDemo.`namesLater`(a0) } // s:9SwiftDemo10wordCountsySDySSSiGSaySSGF -func __nsProbe14(_ a0: [String]) { +func __nsProbe31(_ a0: [String]) { let _: [String: Int] = SwiftDemo.`wordCounts`(a0) } // s:9SwiftDemo11MeasurementO -func __nsProbe15(_ value: SwiftDemo.Measurement) -> SwiftDemo.Measurement { value } +func __nsProbe32(_ value: SwiftDemo.Measurement) -> SwiftDemo.Measurement { value } // s:9SwiftDemo11MeasurementO4UnitV -func __nsProbe16(_ value: SwiftDemo.Measurement.Unit) -> SwiftDemo.Measurement.Unit { value } +func __nsProbe33(_ value: SwiftDemo.Measurement.Unit) -> SwiftDemo.Measurement.Unit { value } // s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc -func __nsProbe17(_ a0: String) { +func __nsProbe34(_ a0: String) { let _: SwiftDemo.Measurement.Unit = SwiftDemo.Measurement.Unit(symbol: a0) } // s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp -func __nsProbe18(_ receiver: inout SwiftDemo.Measurement.Unit, _ newValue: String) { +func __nsProbe35(_ receiver: inout SwiftDemo.Measurement.Unit, _ newValue: String) { let _: String = receiver.`symbol` receiver.`symbol` = newValue } // s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF -func __nsProbe19(_ a0: Double, _ a1: Double) { +func __nsProbe36(_ a0: Double, _ a1: Double) { let _: SwiftDemo.Measurement = SwiftDemo.Measurement.`area`(width: a0, height: a1) } // s:9SwiftDemo11MeasurementO4noneyA2CmF -func __nsProbe20() { +func __nsProbe37() { let _: SwiftDemo.Measurement = SwiftDemo.Measurement.`none` } // s:9SwiftDemo11MeasurementO6isNoneSbvp -func __nsProbe21(_ receiver: SwiftDemo.Measurement) { +func __nsProbe38(_ receiver: SwiftDemo.Measurement) { let _: Bool = receiver.`isNone` } // s:9SwiftDemo11MeasurementO6lengthyACSdcACmF -func __nsProbe22(_ a0: Double) { +func __nsProbe39(_ a0: Double) { let _: SwiftDemo.Measurement = SwiftDemo.Measurement.`length`(a0) } // s:9SwiftDemo11checkedSideyS2dKF -func __nsProbe23(_ a0: Double) throws { +func __nsProbe40(_ a0: Double) throws { let _: Double = try SwiftDemo.`checkedSide`(a0) } // s:9SwiftDemo11delayedEcho_5afterS2S_SdtYaKF -func __nsProbe24(_ a0: String, _ a1: Double) async throws { +func __nsProbe41(_ a0: String, _ a1: Double) async throws { let _: String = try await SwiftDemo.`delayedEcho`(a0, after: a1) } // s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF -func __nsProbe25(_ a0: UIView) { +func __nsProbe42(_ a0: UIView) { let _: UIView? = SwiftDemo.`firstSubview`(of: a0) } // s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF -func __nsProbe26(_ a0: Double) async { +func __nsProbe43(_ a0: Double) async { let _: SwiftDemo.Measurement = await SwiftDemo.`measureLater`(a0) } // s:9SwiftDemo12measurementsSayAA11MeasurementOGyF -func __nsProbe27() { +func __nsProbe44() { let _: [SwiftDemo.Measurement] = SwiftDemo.`measurements`() } // s:9SwiftDemo12swapTrackersyyAA7TrackerCz_ADztF -func __nsProbe28(_ a0: inout SwiftDemo.Tracker, _ a1: inout SwiftDemo.Tracker) { +func __nsProbe45(_ a0: inout SwiftDemo.Tracker, _ a1: inout SwiftDemo.Tracker) { let _: Void = SwiftDemo.`swapTrackers`(&a0, &a1) } // s:9SwiftDemo13PrecipitationO -func __nsProbe29(_ value: SwiftDemo.Precipitation) -> SwiftDemo.Precipitation { value } +func __nsProbe46(_ value: SwiftDemo.Precipitation) -> SwiftDemo.Precipitation { value } // s:9SwiftDemo13PrecipitationO4noneyA2CmF -func __nsProbe30() { +func __nsProbe47() { let _: SwiftDemo.Precipitation = SwiftDemo.Precipitation.`none` } // s:9SwiftDemo13PrecipitationO4rainyA2CmF -func __nsProbe31() { +func __nsProbe48() { let _: SwiftDemo.Precipitation = SwiftDemo.Precipitation.`rain` } // s:9SwiftDemo13PrecipitationO4snowyA2CmF -func __nsProbe32() { +func __nsProbe49() { let _: SwiftDemo.Precipitation = SwiftDemo.Precipitation.`snow` } // s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc -func __nsProbe33(_ a0: String) { +func __nsProbe50(_ a0: String) { let _: SwiftDemo.Precipitation? = SwiftDemo.Precipitation(rawValue: a0) } // s:9SwiftDemo13defaultFlavorAA0D0Ovp -func __nsProbe34() { +func __nsProbe51() { let _: SwiftDemo.Flavor = SwiftDemo.`defaultFlavor` } // s:9SwiftDemo13globalCounterSivp -func __nsProbe35(_ newValue: Int) { +func __nsProbe52(_ newValue: Int) { let _: Int = SwiftDemo.`globalCounter` SwiftDemo.`globalCounter` = newValue } +// s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF +func __nsProbe53(_ a0: String) { + let _: SwiftDemoKit.Wallet = SwiftDemo.`starterWallet`(for: a0) +} + // s:9SwiftDemo16makeDefaultPointAA0E0VyF -func __nsProbe36() { +func __nsProbe54() { let _: SwiftDemo.Point = SwiftDemo.`makeDefaultPoint`() } // s:9SwiftDemo16makeTrackerLater2idAA0D0CSi_tYaF -func __nsProbe37(_ a0: Int) async { +func __nsProbe55(_ a0: Int) async { let _: SwiftDemo.Tracker = await SwiftDemo.`makeTrackerLater`(id: a0) } // s:9SwiftDemo3JobO6TicketV -func __nsProbe38(_ value: SwiftDemo.Job.Ticket) -> SwiftDemo.Job.Ticket { value } +func __nsProbe56(_ value: SwiftDemo.Job.Ticket) -> SwiftDemo.Job.Ticket { value } // s:9SwiftDemo3JobO6TicketV2idAESi_tcfc -func __nsProbe39(_ a0: Int) { +func __nsProbe57(_ a0: Int) { let _: SwiftDemo.Job.Ticket = SwiftDemo.Job.Ticket(id: a0) } // s:9SwiftDemo3JobO6TicketV2idSivp -func __nsProbe40(_ receiver: inout SwiftDemo.Job.Ticket, _ newValue: Int) { +func __nsProbe58(_ receiver: inout SwiftDemo.Job.Ticket, _ newValue: Int) { let _: Int = receiver.`id` receiver.`id` = newValue } +// s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF +func __nsProbe59(_ a0: [SwiftDemoKit.Money]) { + let _: SwiftDemoKit.Money = SwiftDemo.`sum`(of: a0) +} + // s:9SwiftDemo4RingV -func __nsProbe41(_ value: SwiftDemo.Ring) -> SwiftDemo.Ring { value } +func __nsProbe60(_ value: SwiftDemo.Ring) -> SwiftDemo.Ring { value } // s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc -func __nsProbe42(_ a0: SwiftDemo.Point, _ a1: SwiftDemo.Point) { +func __nsProbe61(_ a0: SwiftDemo.Point, _ a1: SwiftDemo.Point) { let _: SwiftDemo.Ring = SwiftDemo.Ring(inner: a0, outer: a1) } // s:9SwiftDemo4RingV5innerAA5PointVvp -func __nsProbe43(_ receiver: inout SwiftDemo.Ring, _ newValue: SwiftDemo.Point) { +func __nsProbe62(_ receiver: inout SwiftDemo.Ring, _ newValue: SwiftDemo.Point) { let _: SwiftDemo.Point = receiver.`inner` receiver.`inner` = newValue } // s:9SwiftDemo4RingV5outerAA5PointVvp -func __nsProbe44(_ receiver: inout SwiftDemo.Ring, _ newValue: SwiftDemo.Point) { +func __nsProbe63(_ receiver: inout SwiftDemo.Ring, _ newValue: SwiftDemo.Point) { let _: SwiftDemo.Point = receiver.`outer` receiver.`outer` = newValue } // s:9SwiftDemo4RingV6expand2byySd_tF -func __nsProbe45(_ receiver: inout SwiftDemo.Ring, _ a0: Double) { +func __nsProbe64(_ receiver: inout SwiftDemo.Ring, _ a0: Double) { let _: Void = receiver.`expand`(by: a0) } // s:9SwiftDemo4area2ofSdAA11MeasurementO_tF -func __nsProbe46(_ a0: SwiftDemo.Measurement) { +func __nsProbe65(_ a0: SwiftDemo.Measurement) { let _: Double = SwiftDemo.`area`(of: a0) } // s:9SwiftDemo4bumpyySizF -func __nsProbe47(_ a0: inout Int) { +func __nsProbe66(_ a0: inout Int) { let _: Void = SwiftDemo.`bump`(&a0) } // s:9SwiftDemo4echoyAA7PayloadOADF -func __nsProbe48(_ a0: SwiftDemo.Payload) { +func __nsProbe67(_ a0: SwiftDemo.Payload) { let _: SwiftDemo.Payload = SwiftDemo.`echo`(a0) } +// s:9SwiftDemo4flipy0aB3Kit4CoinOAEF +func __nsProbe68(_ a0: SwiftDemoKit.Coin) { + let _: SwiftDemoKit.Coin = SwiftDemo.`flip`(a0) +} + // s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF -func __nsProbe49(_ a0: URL) { +func __nsProbe69(_ a0: URL) { let _: String? = SwiftDemo.`host`(of: a0) } // s:9SwiftDemo4rampy10Foundation4DataVSiF -func __nsProbe50(_ a0: Int) { +func __nsProbe70(_ a0: Int) { let _: Data = SwiftDemo.`ramp`(a0) } // s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF -func __nsProbe51(_ a0: [UIView]) { +func __nsProbe71(_ a0: [UIView]) { let _: [Int] = SwiftDemo.`tags`(a0) } // s:9SwiftDemo4text2ofSSAA4NoteC_tF -func __nsProbe52(_ a0: SwiftDemo.Note) { +func __nsProbe72(_ a0: SwiftDemo.Note) { let _: String = SwiftDemo.`text`(of: a0) } // s:9SwiftDemo5PointV -func __nsProbe53(_ value: SwiftDemo.Point) -> SwiftDemo.Point { value } +func __nsProbe73(_ value: SwiftDemo.Point) -> SwiftDemo.Point { value } // s:9SwiftDemo5PointV11descriptionSSvp -func __nsProbe54(_ receiver: SwiftDemo.Point) { +func __nsProbe74(_ receiver: SwiftDemo.Point) { let _: String = receiver.`description` } // s:9SwiftDemo5PointV1x1yACSd_Sdtcfc -func __nsProbe55(_ a0: Double, _ a1: Double) { +func __nsProbe75(_ a0: Double, _ a1: Double) { let _: SwiftDemo.Point = SwiftDemo.Point(x: a0, y: a1) } // s:9SwiftDemo5PointV1xSdvp -func __nsProbe56(_ receiver: inout SwiftDemo.Point, _ newValue: Double) { +func __nsProbe76(_ receiver: inout SwiftDemo.Point, _ newValue: Double) { let _: Double = receiver.`x` receiver.`x` = newValue } // s:9SwiftDemo5PointV1ySdvp -func __nsProbe57(_ receiver: inout SwiftDemo.Point, _ newValue: Double) { +func __nsProbe77(_ receiver: inout SwiftDemo.Point, _ newValue: Double) { let _: Double = receiver.`y` receiver.`y` = newValue } // s:9SwiftDemo5PointV6lengthSdvp -func __nsProbe58(_ receiver: SwiftDemo.Point) { +func __nsProbe78(_ receiver: SwiftDemo.Point) { let _: Double = receiver.`length` } // s:9SwiftDemo5clearyySSSgzF -func __nsProbe59(_ a0: inout String?) { +func __nsProbe79(_ a0: inout String?) { let _: Void = SwiftDemo.`clear`(&a0) } // s:9SwiftDemo5halveyySizKF -func __nsProbe60(_ a0: inout Int) throws { +func __nsProbe80(_ a0: inout Int) throws { let _: Void = try SwiftDemo.`halve`(&a0) } // s:9SwiftDemo5namesySaySSGSiF -func __nsProbe61(_ a0: Int) { +func __nsProbe81(_ a0: Int) { let _: [String] = SwiftDemo.`names`(a0) } // s:9SwiftDemo5shoutySSSgACF -func __nsProbe62(_ a0: String?) { +func __nsProbe82(_ a0: String?) { let _: String? = SwiftDemo.`shout`(a0) } // s:9SwiftDemo5totalySdSaySdGF -func __nsProbe63(_ a0: [Double]) { +func __nsProbe83(_ a0: [Double]) { let _: Double = SwiftDemo.`total`(a0) } // s:9SwiftDemo6CanvasC -func __nsProbe64(_ value: SwiftDemo.Canvas) -> SwiftDemo.Canvas { value } +func __nsProbe84(_ value: SwiftDemo.Canvas) -> SwiftDemo.Canvas { value } // s:9SwiftDemo6CanvasCACycfc @MainActor -func __nsProbe65() { +func __nsProbe85() { let _: SwiftDemo.Canvas = SwiftDemo.Canvas() } // s:9SwiftDemo6FlavorO -func __nsProbe66(_ value: SwiftDemo.Flavor) -> SwiftDemo.Flavor { value } +func __nsProbe86(_ value: SwiftDemo.Flavor) -> SwiftDemo.Flavor { value } // s:9SwiftDemo6FlavorO11descriptionSSvp -func __nsProbe67(_ receiver: SwiftDemo.Flavor) { +func __nsProbe87(_ receiver: SwiftDemo.Flavor) { let _: String = receiver.`description` } // s:9SwiftDemo6FlavorO7vanillayA2CmF -func __nsProbe68() { +func __nsProbe88() { let _: SwiftDemo.Flavor = SwiftDemo.Flavor.`vanilla` } // s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc -func __nsProbe69(_ a0: Int) { +func __nsProbe89(_ a0: Int) { let _: SwiftDemo.Flavor? = SwiftDemo.Flavor(rawValue: a0) } // s:9SwiftDemo6FlavorO9chocolateyA2CmF -func __nsProbe70() { +func __nsProbe90() { let _: SwiftDemo.Flavor = SwiftDemo.Flavor.`chocolate` } // s:9SwiftDemo6LoaderC -func __nsProbe71(_ value: SwiftDemo.Loader) -> SwiftDemo.Loader { value } +func __nsProbe91(_ value: SwiftDemo.Loader) -> SwiftDemo.Loader { value } // s:9SwiftDemo6LoaderC10modernOnlyyyF @available(iOS 16.0, *) -func __nsProbe72(_ receiver: SwiftDemo.Loader) { +func __nsProbe92(_ receiver: SwiftDemo.Loader) { let _: Void = receiver.`modernOnly`() } // s:9SwiftDemo6LoaderC11legacyFetchyyF -func __nsProbe73(_ receiver: SwiftDemo.Loader) { +func __nsProbe93(_ receiver: SwiftDemo.Loader) { let _: Void = receiver.`legacyFetch`() } // s:9SwiftDemo6LoaderC4eachyyySiXEF -func __nsProbe74(_ receiver: SwiftDemo.Loader, _ a0: (Int) -> Void) { +func __nsProbe94(_ receiver: SwiftDemo.Loader, _ a0: (Int) -> Void) { let _: Void = receiver.`each`(a0) } // s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF -func __nsProbe75(_ receiver: SwiftDemo.Loader, _ a0: String) throws { +func __nsProbe95(_ receiver: SwiftDemo.Loader, _ a0: String) throws { let _: Data = try receiver.`load`(path: a0) } // s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF -func __nsProbe76(_ receiver: SwiftDemo.Loader, _ a0: Double) async { +func __nsProbe96(_ receiver: SwiftDemo.Loader, _ a0: Double) async { let _: Void = await receiver.`wait`(seconds: a0) } // s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF -func __nsProbe77(_ receiver: SwiftDemo.Loader, _ a0: URL) async throws { +func __nsProbe97(_ receiver: SwiftDemo.Loader, _ a0: URL) async throws { let _: String = try await receiver.`fetch`(url: a0) } // s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF -func __nsProbe78(_ receiver: SwiftDemo.Loader, _ a0: [String: Int], _ a1: String) { +func __nsProbe98(_ receiver: SwiftDemo.Loader, _ a0: [String: Int], _ a1: String) { let _: Int? = receiver.`lookup`(table: a0, key: a1) } // s:9SwiftDemo6LoaderC6updateyyAA5PointVzF -func __nsProbe79(_ receiver: SwiftDemo.Loader, _ a0: inout SwiftDemo.Point) { +func __nsProbe99(_ receiver: SwiftDemo.Loader, _ a0: inout SwiftDemo.Point) { let _: Void = receiver.`update`(&a0) } // s:9SwiftDemo6LoaderC8oldFetchyyF -func __nsProbe80(_ receiver: SwiftDemo.Loader) { +func __nsProbe100(_ receiver: SwiftDemo.Loader) { let _: Void = receiver.`oldFetch`() } // s:9SwiftDemo6LoaderCACycfc -func __nsProbe81() { +func __nsProbe101() { let _: SwiftDemo.Loader = SwiftDemo.Loader() } // s:9SwiftDemo6SquareC -func __nsProbe82(_ value: SwiftDemo.Square) -> SwiftDemo.Square { value } +func __nsProbe102(_ value: SwiftDemo.Square) -> SwiftDemo.Square { value } // s:9SwiftDemo6SquareC4areaSdvp -func __nsProbe83(_ receiver: SwiftDemo.Square) { +func __nsProbe103(_ receiver: SwiftDemo.Square) { let _: Double = receiver.`area` } // s:9SwiftDemo6SquareC4sideACSd_tcfc -func __nsProbe84(_ a0: Double) { +func __nsProbe104(_ a0: Double) { let _: SwiftDemo.Square = SwiftDemo.Square(side: a0) } // s:9SwiftDemo6SquareC4sideSdvp -func __nsProbe85(_ receiver: SwiftDemo.Square, _ newValue: Double) { +func __nsProbe105(_ receiver: SwiftDemo.Square, _ newValue: Double) { let _: Double = receiver.`side` receiver.`side` = newValue } // s:9SwiftDemo6SquareC5greet4nameS2S_tF -func __nsProbe86(_ receiver: SwiftDemo.Square, _ a0: String) { +func __nsProbe106(_ receiver: SwiftDemo.Square, _ a0: String) { let _: String = receiver.`greet`(name: a0) } // s:9SwiftDemo6SquareC5scale2byySd_tF -func __nsProbe87(_ receiver: SwiftDemo.Square, _ a0: Double) { +func __nsProbe107(_ receiver: SwiftDemo.Square, _ a0: Double) { let _: Void = receiver.`scale`(by: a0) } // s:9SwiftDemo6SquareC5sidesSivpZ -func __nsProbe88() { +func __nsProbe108() { let _: Int = SwiftDemo.Square.`sides` } // s:9SwiftDemo6append_2toySS_SaySSGztF -func __nsProbe89(_ a0: String, _ a1: inout [String]) { +func __nsProbe109(_ a0: String, _ a1: inout [String]) { let _: Void = SwiftDemo.`append`(a0, to: &a1) } // s:9SwiftDemo7CounterC -func __nsProbe90(_ value: SwiftDemo.Counter) -> SwiftDemo.Counter { value } +func __nsProbe110(_ value: SwiftDemo.Counter) -> SwiftDemo.Counter { value } // s:9SwiftDemo7CounterC4stepSivp -func __nsProbe91(_ receiver: SwiftDemo.Counter) async { +func __nsProbe111(_ receiver: SwiftDemo.Counter) async { let _: Int = await receiver.`step` } // s:9SwiftDemo7CounterC5labelSSyF -func __nsProbe92(_ receiver: SwiftDemo.Counter) { +func __nsProbe112(_ receiver: SwiftDemo.Counter) { let _: String = receiver.`label`() } // s:9SwiftDemo7CounterC5valueSivp -func __nsProbe93(_ receiver: SwiftDemo.Counter) async { +func __nsProbe113(_ receiver: SwiftDemo.Counter) async { let _: Int = await receiver.`value` } // s:9SwiftDemo7CounterC9incrementSiyF -func __nsProbe94(_ receiver: SwiftDemo.Counter) async { +func __nsProbe114(_ receiver: SwiftDemo.Counter) async { let _: Int = await receiver.`increment`() } // s:9SwiftDemo7CounterCACycfc -func __nsProbe95() { +func __nsProbe115() { let _: SwiftDemo.Counter = SwiftDemo.Counter() } // s:9SwiftDemo7FormulaO -func __nsProbe96(_ value: SwiftDemo.Formula) -> SwiftDemo.Formula { value } +func __nsProbe116(_ value: SwiftDemo.Formula) -> SwiftDemo.Formula { value } // s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF -func __nsProbe97(_ a0: SwiftDemo.Formula, _ a1: SwiftDemo.Formula) { +func __nsProbe117(_ a0: SwiftDemo.Formula, _ a1: SwiftDemo.Formula) { let _: SwiftDemo.Formula = SwiftDemo.Formula.`sum`(a0, a1) } // s:9SwiftDemo7FormulaO5valueSdvp -func __nsProbe98(_ receiver: SwiftDemo.Formula) { +func __nsProbe118(_ receiver: SwiftDemo.Formula) { let _: Double = receiver.`value` } // s:9SwiftDemo7FormulaO6negateyA2CcACmF -func __nsProbe99(_ a0: SwiftDemo.Formula) { +func __nsProbe119(_ a0: SwiftDemo.Formula) { let _: SwiftDemo.Formula = SwiftDemo.Formula.`negate`(a0) } // s:9SwiftDemo7FormulaO6numberyACSdcACmF -func __nsProbe100(_ a0: Double) { +func __nsProbe120(_ a0: Double) { let _: SwiftDemo.Formula = SwiftDemo.Formula.`number`(a0) } // s:9SwiftDemo7PaletteC -func __nsProbe101(_ value: SwiftDemo.Palette) -> SwiftDemo.Palette { value } +func __nsProbe121(_ value: SwiftDemo.Palette) -> SwiftDemo.Palette { value } // s:9SwiftDemo7PaletteC11strokeLaterSiyYaF -func __nsProbe102(_ receiver: SwiftDemo.Palette) async { +func __nsProbe122(_ receiver: SwiftDemo.Palette) async { let _: Int = await receiver.`strokeLater`() } // s:9SwiftDemo7PaletteC6strokeSiyF @MainActor -func __nsProbe103(_ receiver: SwiftDemo.Palette) { +func __nsProbe123(_ receiver: SwiftDemo.Palette) { let _: Int = receiver.`stroke`() } // s:9SwiftDemo7PaletteC7strokesSivp @MainActor -func __nsProbe104(_ receiver: SwiftDemo.Palette) { +func __nsProbe124(_ receiver: SwiftDemo.Palette) { let _: Int = receiver.`strokes` } // s:9SwiftDemo7PaletteCACycfc @MainActor -func __nsProbe105() { +func __nsProbe125() { let _: SwiftDemo.Palette = SwiftDemo.Palette() } // s:9SwiftDemo7PayloadO -func __nsProbe106(_ value: SwiftDemo.Payload) -> SwiftDemo.Payload { value } +func __nsProbe126(_ value: SwiftDemo.Payload) -> SwiftDemo.Payload { value } // s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF -func __nsProbe107(_ a0: Int?) { +func __nsProbe127(_ a0: Int?) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`maybe`(a0) } // s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF -func __nsProbe108(_ a0: [String]) { +func __nsProbe128(_ a0: [String]) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`names`(a0) } // s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF -func __nsProbe109(_ a0: SwiftDemo.Point) { +func __nsProbe129(_ a0: SwiftDemo.Point) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`point`(a0) } // s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF -func __nsProbe110(_ a0: SwiftDemo.Flavor) { +func __nsProbe130(_ a0: SwiftDemo.Flavor) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`flavor`(a0) } // s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF -func __nsProbe111(_ a0: SwiftDemo.Tracker) { +func __nsProbe131(_ a0: SwiftDemo.Tracker) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`tracker`(a0) } // s:9SwiftDemo7PolygonC -func __nsProbe112(_ value: SwiftDemo.Polygon) -> SwiftDemo.Polygon { value } +func __nsProbe132(_ value: SwiftDemo.Polygon) -> SwiftDemo.Polygon { value } // s:9SwiftDemo7PolygonC11vertexCountSivp -func __nsProbe113(_ receiver: SwiftDemo.Polygon) { +func __nsProbe133(_ receiver: SwiftDemo.Polygon) { let _: Int = receiver.`vertexCount` } // s:9SwiftDemo7PolygonC4makeACyFZ -func __nsProbe114() { +func __nsProbe134() { let _: SwiftDemo.Polygon = SwiftDemo.Polygon.`make`() } // s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc -func __nsProbe115(_ a0: String, _ a1: Int) { +func __nsProbe135(_ a0: String, _ a1: Int) { let _: SwiftDemo.Polygon = SwiftDemo.Polygon(name: a0, vertexCount: a1) } // s:9SwiftDemo7PolygonC4nameACSgSS_tcfc -func __nsProbe116(_ a0: String) { +func __nsProbe136(_ a0: String) { let _: SwiftDemo.Polygon? = SwiftDemo.Polygon(name: a0) } // s:9SwiftDemo7PolygonC4nameSSvp -func __nsProbe117(_ receiver: SwiftDemo.Polygon) { +func __nsProbe137(_ receiver: SwiftDemo.Polygon) { let _: String = receiver.`name` } // s:9SwiftDemo7PolygonC5StyleO -func __nsProbe118(_ value: SwiftDemo.Polygon.Style) -> SwiftDemo.Polygon.Style { value } +func __nsProbe138(_ value: SwiftDemo.Polygon.Style) -> SwiftDemo.Polygon.Style { value } // s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF -func __nsProbe119() { +func __nsProbe139() { let _: SwiftDemo.Polygon.Style = SwiftDemo.Polygon.Style.`solid` } // s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF -func __nsProbe120() { +func __nsProbe140() { let _: SwiftDemo.Polygon.Style = SwiftDemo.Polygon.Style.`dashed` } // s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc -func __nsProbe121(_ a0: String) { +func __nsProbe141(_ a0: String) { let _: SwiftDemo.Polygon.Style? = SwiftDemo.Polygon.Style(rawValue: a0) } // s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF -func __nsProbe122(_ receiver: SwiftDemo.Polygon, _ a0: Double, _ a1: Double) { +func __nsProbe142(_ receiver: SwiftDemo.Polygon, _ a0: Double, _ a1: Double) { let _: Void = receiver.`scale`(x: a0, y: a1) } // s:9SwiftDemo7PolygonC5scale2byySd_tF -func __nsProbe123(_ receiver: SwiftDemo.Polygon, _ a0: Double) { +func __nsProbe143(_ receiver: SwiftDemo.Polygon, _ a0: Double) { let _: Void = receiver.`scale`(by: a0) } // s:9SwiftDemo7PolygonC5scale2byySi_tF -func __nsProbe124(_ receiver: SwiftDemo.Polygon, _ a0: Int) { +func __nsProbe144(_ receiver: SwiftDemo.Polygon, _ a0: Int) { let _: Void = receiver.`scale`(by: a0) } // s:9SwiftDemo7PolygonC5styleAC5StyleOvp -func __nsProbe125(_ receiver: SwiftDemo.Polygon) { +func __nsProbe145(_ receiver: SwiftDemo.Polygon) { let _: SwiftDemo.Polygon.Style = receiver.`style` } // s:9SwiftDemo7PolygonC6sharedACvpZ -func __nsProbe126() { +func __nsProbe146() { let _: SwiftDemo.Polygon = SwiftDemo.Polygon.`shared` } // s:9SwiftDemo7PolygonC7MetricsV -func __nsProbe127(_ value: SwiftDemo.Polygon.Metrics) -> SwiftDemo.Polygon.Metrics { value } +func __nsProbe147(_ value: SwiftDemo.Polygon.Metrics) -> SwiftDemo.Polygon.Metrics { value } // s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc -func __nsProbe128(_ a0: Double) { +func __nsProbe148(_ a0: Double) { let _: SwiftDemo.Polygon.Metrics = SwiftDemo.Polygon.Metrics(perimeter: a0) } // s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp -func __nsProbe129(_ receiver: inout SwiftDemo.Polygon.Metrics, _ newValue: Double) { +func __nsProbe149(_ receiver: inout SwiftDemo.Polygon.Metrics, _ newValue: Double) { let _: Double = receiver.`perimeter` receiver.`perimeter` = newValue } // s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF -func __nsProbe130(_ receiver: SwiftDemo.Polygon, _ a0: Double) { +func __nsProbe150(_ receiver: SwiftDemo.Polygon, _ a0: Double) { let _: SwiftDemo.Polygon.Metrics = receiver.`metrics`(side: a0) } // s:9SwiftDemo7PolygonC8describeySSACSgFZ -func __nsProbe131(_ a0: SwiftDemo.Polygon?) { +func __nsProbe151(_ a0: SwiftDemo.Polygon?) { let _: String = SwiftDemo.Polygon.`describe`(a0) } // s:9SwiftDemo7TrackerC -func __nsProbe132(_ value: SwiftDemo.Tracker) -> SwiftDemo.Tracker { value } +func __nsProbe152(_ value: SwiftDemo.Tracker) -> SwiftDemo.Tracker { value } // s:9SwiftDemo7TrackerC2idACSi_tcfc -func __nsProbe133(_ a0: Int) { +func __nsProbe153(_ a0: Int) { let _: SwiftDemo.Tracker = SwiftDemo.Tracker(id: a0) } // s:9SwiftDemo7TrackerC2idSivp -func __nsProbe134(_ receiver: SwiftDemo.Tracker) { +func __nsProbe154(_ receiver: SwiftDemo.Tracker) { let _: Int = receiver.`id` } // s:9SwiftDemo7TrackerC4sameACyF -func __nsProbe135(_ receiver: SwiftDemo.Tracker) { +func __nsProbe155(_ receiver: SwiftDemo.Tracker) { let _: SwiftDemo.Tracker = receiver.`same`() } // s:9SwiftDemo7TrackerC9liveCountSivpZ -func __nsProbe136() { +func __nsProbe156() { let _: Int = SwiftDemo.Tracker.`liveCount` } // s:9SwiftDemo7explainySSAA10ShapeErrorOF -func __nsProbe137(_ a0: SwiftDemo.ShapeError) { +func __nsProbe157(_ a0: SwiftDemo.ShapeError) { let _: String = SwiftDemo.`explain`(a0) } // s:9SwiftDemo7lengthsySDySSSiGSDyS2SGF -func __nsProbe138(_ a0: [String: String]) { +func __nsProbe158(_ a0: [String: String]) { let _: [String: Int] = SwiftDemo.`lengths`(a0) } // s:9SwiftDemo7measure_2byAA11MeasurementOSd_SdSgtF -func __nsProbe139(_ a0: Double, _ a1: Double?) { +func __nsProbe159(_ a0: Double, _ a1: Double?) { let _: SwiftDemo.Measurement = SwiftDemo.`measure`(a0, by: a1) } // s:9SwiftDemo7nextDay5after10Foundation4DateVAF_tF -func __nsProbe140(_ a0: Date) { +func __nsProbe160(_ a0: Date) { let _: Date = SwiftDemo.`nextDay`(after: a0) } // s:9SwiftDemo7resolve_7against10Foundation3URLVSS_AFtF -func __nsProbe141(_ a0: String, _ a1: URL) { +func __nsProbe161(_ a0: String, _ a1: URL) { let _: URL = SwiftDemo.`resolve`(a0, against: a1) } // s:9SwiftDemo8NotifierC -func __nsProbe142(_ value: SwiftDemo.Notifier) -> SwiftDemo.Notifier { value } +func __nsProbe162(_ value: SwiftDemo.Notifier) -> SwiftDemo.Notifier { value } // s:9SwiftDemo8NotifierC12publishLateryySSF -func __nsProbe143(_ receiver: SwiftDemo.Notifier, _ a0: String) { +func __nsProbe163(_ receiver: SwiftDemo.Notifier, _ a0: String) { let _: Void = receiver.`publishLater`(a0) } // s:9SwiftDemo8NotifierC5clearyyF -func __nsProbe144(_ receiver: SwiftDemo.Notifier) { +func __nsProbe164(_ receiver: SwiftDemo.Notifier) { let _: Void = receiver.`clear`() } // s:9SwiftDemo8NotifierC5countSivp -func __nsProbe145(_ receiver: SwiftDemo.Notifier) { +func __nsProbe165(_ receiver: SwiftDemo.Notifier) { let _: Int = receiver.`count` } // s:9SwiftDemo8NotifierC7publishyySSF -func __nsProbe146(_ receiver: SwiftDemo.Notifier, _ a0: String) { +func __nsProbe166(_ receiver: SwiftDemo.Notifier, _ a0: String) { let _: Void = receiver.`publish`(a0) } // s:9SwiftDemo8NotifierC9subscribeyyySSYbcF -func __nsProbe147(_ receiver: SwiftDemo.Notifier, _ a0: @escaping @Sendable (String) -> Void) { +func __nsProbe167(_ receiver: SwiftDemo.Notifier, _ a0: @escaping @Sendable (String) -> Void) { let _: Void = receiver.`subscribe`(a0) } // s:9SwiftDemo8NotifierCACycfc -func __nsProbe148() { +func __nsProbe168() { let _: SwiftDemo.Notifier = SwiftDemo.Notifier() } // s:9SwiftDemo8centroid2ofAA5PointVSayAEG_tF -func __nsProbe149(_ a0: [SwiftDemo.Point]) { +func __nsProbe169(_ a0: [SwiftDemo.Point]) { let _: SwiftDemo.Point = SwiftDemo.`centroid`(of: a0) } // s:9SwiftDemo8checksumySi10Foundation4DataVF -func __nsProbe150(_ a0: Data) { +func __nsProbe170(_ a0: Data) { let _: Int = SwiftDemo.`checksum`(a0) } // s:9SwiftDemo8describeySSSo6UIViewCF -func __nsProbe151(_ a0: UIView) { +func __nsProbe171(_ a0: UIView) { let _: String = SwiftDemo.`describe`(a0) } // s:9SwiftDemo8echoInt8ys0D0VADF -func __nsProbe152(_ a0: Int8) { +func __nsProbe172(_ a0: Int8) { let _: Int8 = SwiftDemo.`echoInt8`(a0) } // s:9SwiftDemo8makeNoteyAA0D0CSSF -func __nsProbe153(_ a0: String) { +func __nsProbe173(_ a0: String) { let _: SwiftDemo.Note = SwiftDemo.`makeNote`(a0) } // s:9SwiftDemo8mirroredySaySaySiGGADF -func __nsProbe154(_ a0: [[Int]]) { +func __nsProbe174(_ a0: [[Int]]) { let _: [[Int]] = SwiftDemo.`mirrored`(a0) } // s:9SwiftDemo8simplifyyAA7FormulaOADF -func __nsProbe155(_ a0: SwiftDemo.Formula) { +func __nsProbe175(_ a0: SwiftDemo.Formula) { let _: SwiftDemo.Formula = SwiftDemo.`simplify`(a0) } // s:9SwiftDemo8trackersySayAA7TrackerCGSaySiGF -func __nsProbe156(_ a0: [Int]) { +func __nsProbe176(_ a0: [Int]) { let _: [SwiftDemo.Tracker] = SwiftDemo.`trackers`(a0) } // s:9SwiftDemo9countdown4from_ySi_ySi_SbtXEtF -func __nsProbe157(_ a0: Int, _ a1: (Int, Bool) -> Void) { +func __nsProbe177(_ a0: Int, _ a1: (Int, Bool) -> Void) { let _: Void = SwiftDemo.`countdown`(from: a0, a1) } // s:9SwiftDemo9makeLabelySo7UILabelCSSF @MainActor -func __nsProbe158(_ a0: String) { +func __nsProbe178(_ a0: String) { let _: UILabel = SwiftDemo.`makeLabel`(a0) } // s:9SwiftDemo9noteLateryAA4NoteCSSYaF -func __nsProbe159(_ a0: String) async { +func __nsProbe179(_ a0: String) async { let _: SwiftDemo.Note = await SwiftDemo.`noteLater`(a0) } // s:9SwiftDemo9onMeasureyyyAA11MeasurementOXEF -func __nsProbe160(_ a0: (SwiftDemo.Measurement) -> Void) { +func __nsProbe180(_ a0: (SwiftDemo.Measurement) -> Void) { let _: Void = SwiftDemo.`onMeasure`(a0) } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO -func __nsProbe161(_ receiver: SwiftDemo.Precipitation) { +func __nsProbe181(_ receiver: SwiftDemo.Precipitation) { let _: Int = receiver.`hashValue` } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO -func __nsProbe162(_ receiver: SwiftDemo.Flavor) { +func __nsProbe182(_ receiver: SwiftDemo.Flavor) { let _: Int = receiver.`hashValue` } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO -func __nsProbe163(_ receiver: SwiftDemo.Polygon.Style) { +func __nsProbe183(_ receiver: SwiftDemo.Polygon.Style) { let _: Int = receiver.`hashValue` } // s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO -func __nsProbe164(_ receiver: SwiftDemo.ShapeError) { +func __nsProbe184(_ receiver: SwiftDemo.ShapeError) { let _: String = receiver.`localizedDescription` } diff --git a/metadata-generator/tests/swift/snapshots/swift!SwiftDemo.d.ts b/metadata-generator/tests/swift/snapshots/swift!SwiftDemo.d.ts index b780d738..97138a34 100644 --- a/metadata-generator/tests/swift/snapshots/swift!SwiftDemo.d.ts +++ b/metadata-generator/tests/swift/snapshots/swift!SwiftDemo.d.ts @@ -217,11 +217,14 @@ declare module "ns:swift/SwiftDemo" { export function swapTrackers(a: { value: Tracker }, b: { value: Tracker }): void; export const defaultFlavor: Flavor; export let globalCounter: number; + export function starterWallet(owner: string): import("ns:swift/SwiftDemoKit").Wallet; export function makeDefaultPoint(): Point; export function makeTrackerLater(id: number | bigint): Promise; + export function sum(amounts: readonly (import("ns:swift/SwiftDemoKit").Money)[]): import("ns:swift/SwiftDemoKit").Money; export function area(measurement: Measurement): number; export function bump(value: { value: number | bigint }): void; export function echo(payload: Payload): Payload; + export function flip(coin: import("ns:swift/SwiftDemoKit").Coin): import("ns:swift/SwiftDemoKit").Coin; export function host(url: string | URL): string | null; export function ramp(count: number | bigint): Uint8Array; export function tags(views: readonly (UIView)[]): (number)[]; diff --git a/metadata-generator/tests/swift/snapshots/swift!SwiftDemoKit.d.ts b/metadata-generator/tests/swift/snapshots/swift!SwiftDemoKit.d.ts new file mode 100644 index 00000000..6fe19085 --- /dev/null +++ b/metadata-generator/tests/swift/snapshots/swift!SwiftDemoKit.d.ts @@ -0,0 +1,37 @@ +// Generated by objc-metadata-generator from the SwiftDemoKit symbol graphs. Do not edit. +// The JavaScript surface ns:swift exposes for SwiftDemoKit: every declaration is backed by a generated thunk. + +declare module "ns:swift/SwiftDemoKit" { + export type Coin = "dime" | "penny"; + export namespace Coin { + export const dime: "dime"; + export const penny: "penny"; + } + + export class Money { + constructor(amount: number | bigint, currency: string); + constructor(args: { amount: number | bigint; currency: string }); + readonly isZero: boolean; + doubled(): Money; + adding(other: Money): Money; + amount: number; + currency: string; + } + + export class Wallet { + constructor(owner: string); + constructor(args: { owner: string }); + summary(): string; + readonly owner: string; + readonly balance: Money; + deposit(money: Money): void; + } + + export function formatted(money: Money): string; +} + +declare module "ns:swift" { + interface SwiftModules { + SwiftDemoKit: typeof import("ns:swift/SwiftDemoKit"); + } +} diff --git a/v8ios.xcodeproj/project.pbxproj b/v8ios.xcodeproj/project.pbxproj index 31d62a4e..60ac71ba 100644 --- a/v8ios.xcodeproj/project.pbxproj +++ b/v8ios.xcodeproj/project.pbxproj @@ -350,6 +350,8 @@ EF918E4F1A6F3E39721F8C44 /* Shapes.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA98D6B239608C28AFB14F15 /* Shapes.swift */; }; 1A9C83B48771CCA1BBEA3F77 /* Values.swift in Sources */ = {isa = PBXBuildFile; fileRef = D76F7C886215EB9DB96CA88E /* Values.swift */; }; 2B7A41C09E3F4D21A6C0B001 /* Views.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B7A41C09E3F4D21A6C0B002 /* Views.swift */; }; + 5D0E5ED00000000000000004 /* Purse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D0E5ED00000000000000003 /* Purse.swift */; }; + 5D0E5ED00000000000000002 /* Money.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D0E5ED00000000000000001 /* Money.swift */; }; F84875BB70573F18E4D9BA12 /* SwiftDemo+NativeScript.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9283D493244254925F2F5D4D /* SwiftDemo+NativeScript.swift */; }; D3DEE264C143B4BB31683835 /* SwiftRuntimeLinkage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FFACD5929635A9739D992FE /* SwiftRuntimeLinkage.swift */; }; /* End PBXBuildFile section */ @@ -411,6 +413,13 @@ remoteGlobalIDString = 25D322C92AC1521571A8C2F4; remoteInfo = SwiftDemo; }; + 5D0E5ED0000000000000000C /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = C27E277822202663009C10A3 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 5D0E5ED00000000000000006; + remoteInfo = SwiftDemoKit; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -902,8 +911,11 @@ CA98D6B239608C28AFB14F15 /* Shapes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemo/Shapes.swift"; sourceTree = ""; }; D76F7C886215EB9DB96CA88E /* Values.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemo/Values.swift"; sourceTree = ""; }; 2B7A41C09E3F4D21A6C0B002 /* Views.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemo/Views.swift"; sourceTree = ""; }; + 5D0E5ED00000000000000003 /* Purse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemo/Purse.swift"; sourceTree = ""; }; + 5D0E5ED00000000000000001 /* Money.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemoKit/Money.swift"; sourceTree = ""; }; 9283D493244254925F2F5D4D /* SwiftDemo+NativeScript.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Interop/SwiftDemo+NativeScript.swift"; sourceTree = ""; }; 8431D102ADFEC30630A1D9EB /* libSwiftDemo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSwiftDemo.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 5D0E5ED00000000000000005 /* libSwiftDemoKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSwiftDemoKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; 2FFACD5929635A9739D992FE /* SwiftRuntimeLinkage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftRuntimeLinkage.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -975,6 +987,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 5D0E5ED0000000000000000B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -1162,6 +1181,7 @@ children = ( C2DDEB16229EA89000345BFE /* TestRunner.app */, 8431D102ADFEC30630A1D9EB /* libSwiftDemo.a */, + 5D0E5ED00000000000000005 /* libSwiftDemoKit.a */, C2DDEB32229EAB3B00345BFE /* NativeScript.framework */, C29374E2229FC0F60075CB16 /* libTestFixtures.a */, C2F4CBB322C60BFD0036B56F /* metadata-generator */, @@ -1690,6 +1710,8 @@ CA98D6B239608C28AFB14F15 /* Shapes.swift */, D76F7C886215EB9DB96CA88E /* Values.swift */, 2B7A41C09E3F4D21A6C0B002 /* Views.swift */, + 5D0E5ED00000000000000003 /* Purse.swift */, + 5D0E5ED00000000000000001 /* Money.swift */, 9283D493244254925F2F5D4D /* SwiftDemo+NativeScript.swift */, ); name = SwiftDemo; @@ -1980,12 +2002,29 @@ buildRules = ( ); dependencies = ( + 5D0E5ED0000000000000000D /* PBXTargetDependency */, ); name = SwiftDemo; productName = SwiftDemo; productReference = 8431D102ADFEC30630A1D9EB /* libSwiftDemo.a */; productType = "com.apple.product-type.library.static"; }; + 5D0E5ED00000000000000006 /* SwiftDemoKit */ = { + isa = PBXNativeTarget; + buildConfigurationList = 5D0E5ED00000000000000007 /* Build configuration list for PBXNativeTarget "SwiftDemoKit" */; + buildPhases = ( + 5D0E5ED0000000000000000A /* Sources */, + 5D0E5ED0000000000000000B /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SwiftDemoKit; + productName = SwiftDemoKit; + productReference = 5D0E5ED00000000000000005 /* libSwiftDemoKit.a */; + productType = "com.apple.product-type.library.static"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -2041,6 +2080,7 @@ C2DDEB31229EAB3B00345BFE /* NativeScript */, C29374E1229FC0F60075CB16 /* TestFixtures */, 25D322C92AC1521571A8C2F4 /* SwiftDemo */, + 5D0E5ED00000000000000006 /* SwiftDemoKit */, C2F4CBB222C60BFD0036B56F /* metadata-generator */, C23992C6236C2D6E00D2F720 /* TestRunnerTests */, C2253781241A41C500192740 /* TKLiveSync */, @@ -2488,10 +2528,19 @@ EF918E4F1A6F3E39721F8C44 /* Shapes.swift in Sources */, 1A9C83B48771CCA1BBEA3F77 /* Values.swift in Sources */, 2B7A41C09E3F4D21A6C0B001 /* Views.swift in Sources */, + 5D0E5ED00000000000000004 /* Purse.swift in Sources */, F84875BB70573F18E4D9BA12 /* SwiftDemo+NativeScript.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; + 5D0E5ED0000000000000000A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 5D0E5ED00000000000000002 /* Money.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -2552,6 +2601,11 @@ target = 25D322C92AC1521571A8C2F4 /* SwiftDemo */; targetProxy = EAC6F6059220EE00658E50B4 /* PBXContainerItemProxy */; }; + 5D0E5ED0000000000000000D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 5D0E5ED00000000000000006 /* SwiftDemoKit */; + targetProxy = 5D0E5ED0000000000000000C /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ @@ -2969,6 +3023,7 @@ "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/libTestFixtures.a", "-Wl,-u,_ns_swift_register_SwiftDemo", "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/libSwiftDemo.a", + "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/libSwiftDemoKit.a", "-sectcreate", __DATA, __TNSMetadata, @@ -3028,6 +3083,7 @@ "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/libTestFixtures.a", "-Wl,-u,_ns_swift_register_SwiftDemo", "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/libSwiftDemo.a", + "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/libSwiftDemoKit.a", "-sectcreate", __DATA, __TNSMetadata, @@ -3364,6 +3420,32 @@ }; name = Release; }; + 5D0E5ED00000000000000008 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator xros xrsimulator"; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + SYMROOT = build; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 5D0E5ED00000000000000009 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator xros xrsimulator"; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + SYMROOT = build; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -3457,6 +3539,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 5D0E5ED00000000000000007 /* Build configuration list for PBXNativeTarget "SwiftDemoKit" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 5D0E5ED00000000000000008 /* Debug */, + 5D0E5ED00000000000000009 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = C27E277822202663009C10A3 /* Project object */; From d1bfc269ce944b491bd13d774f18b5ded297d139 Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Tue, 20 Oct 2026 16:13:02 -0700 Subject: [PATCH 2/6] feat(swift-interop): generic types through their instantiations A generic type is now bridged through every concrete instantiation that the unit's declarations spell: signatures and public typealiases (for example `Measurement` in WeatherKit). Instantiations found inside other instantiations' members are followed two levels deep. Before classification, instantiateGenerics adds a synthetic non-generic type for each instantiation. It copies the generic type's members, each with a substitution map for the generic parameters. Members whose same-type requirements contradict the arguments are left out, such as a `where UnitType == UnitMass` extension or a synthesized `Self == Style` member. The classifier, thunks and probes then treat instantiations like any other type, and the compiler verifies every instantiated member. Typealiases now bridge as the type they name. Instantiations of one generic type share one JS class. They share a module and a JS name, and the runtime groups them into a family: one template and one member group per name. The constructor resolves among every instantiation's initializers, and instance members only consider the receiver's own instantiation. TypeScript declares the generic class once from template capabilities (`class Pair`), names instantiations with their arguments, and declares typealiases. Fix: the compiler log is removed before each verification run. LLVM's redirect doesn't truncate it, so a shorter second run kept the previous run's errors. At SDK scale, Foundation goes from 3038 to 3486 callables (74 instantiations) and WeatherKit from 267 to 379 (23). The WeatherKit and Foundation unit has 3968 callables. All of them type-check. --- NativeScript/runtime/SwiftInterop.mm | 79 +- TestRunner/app/tests/SwiftInteropTests.js | 42 + docs/swift-interop.md | 23 +- .../Interop/SwiftDemo+NativeScript.swift | 1101 ++++++++++------- .../SwiftDemo/Sources/SwiftDemo/Purse.swift | 8 + .../Sources/SwiftDemoKit/Money.swift | 26 + .../symbolgraphs/SwiftDemo.symbols.json | 2 +- .../symbolgraphs/SwiftDemoKit.symbols.json | 2 +- .../src/Swift/CapabilityClassifier.cpp | 165 ++- .../src/Swift/CapabilityClassifier.h | 13 +- .../src/Swift/ProbeVerifier.cpp | 3 + metadata-generator/src/Swift/SwiftIR.h | 65 + metadata-generator/src/Swift/SwiftSource.cpp | 18 +- metadata-generator/src/Swift/SwiftSurface.cpp | 1 + metadata-generator/src/Swift/SwiftTypes.cpp | 313 +++++ metadata-generator/src/Swift/SwiftTypes.h | 77 +- metadata-generator/src/Swift/ThunkEmitter.cpp | 2 + .../src/TypeScript/SwiftDefinitionWriter.cpp | 133 +- metadata-generator/src/main.cpp | 3 + .../tests/swift/SymbolGraphLoaderTests.cpp | 15 +- metadata-generator/tests/swift/TestSupport.h | 4 +- .../swift/snapshots/SwiftDemo.coverage.json | 403 +++++- .../tests/swift/snapshots/SwiftDemo.ir.json | 975 ++++++++++++++- .../swift/snapshots/SwiftDemo.probe.swift | 496 +++++--- .../swift/snapshots/swift!SwiftDemo.d.ts | 6 + .../swift/snapshots/swift!SwiftDemoKit.d.ts | 20 + .../tests/swift/typescript/usage.ts | 10 + 27 files changed, 3242 insertions(+), 763 deletions(-) diff --git a/NativeScript/runtime/SwiftInterop.mm b/NativeScript/runtime/SwiftInterop.mm index 2c42c388..6ed23f49 100644 --- a/NativeScript/runtime/SwiftInterop.mm +++ b/NativeScript/runtime/SwiftInterop.mm @@ -295,6 +295,9 @@ bool ParseSignature(const std::string& text, Signature& signature) { const MemberGroup* initializers = nullptr; // NSSwiftTypeTaggedEnum: the cases, by case index. std::vector cases; + // Instantiations of one generic type share a module and JS name; they + // form a family with one JS class, named by its first type's index. + int family = -1; }; bool IsEnumKind(uint32_t kind) { return kind == NSSwiftTypeEnum || kind == NSSwiftTypeTaggedEnum; } @@ -562,10 +565,19 @@ bool IsValidModuleName(const std::string& name) { return true; } +void BuildFamilies(ModuleInfo& module) { + std::map first; + for (TypeInfo& type : module.types) { + auto inserted = first.emplace(type.swiftModule + ":" + type.jsName, type.index); + type.family = inserted.first->second; + } +} + void BuildGroups(ModuleInfo& module) { robin_hood::unordered_map byKey; for (const MemberInfo& member : module.members) { - std::string key = std::to_string(member.owner) + ":" + std::to_string(member.kind) + ":" + + int owner = member.owner < 0 ? -1 : module.types[member.owner].family; + std::string key = std::to_string(owner) + ":" + std::to_string(member.kind) + ":" + member.jsName + (member.owner < 0 ? ":" + member.swiftModule : ""); auto it = byKey.find(key); MemberGroup* group; @@ -573,7 +585,7 @@ void BuildGroups(ModuleInfo& module) { module.groups.push_back(std::make_unique()); group = module.groups.back().get(); group->module = &module; - group->owner = member.owner; + group->owner = owner; group->swiftModule = member.owner < 0 ? member.swiftModule : ""; group->kind = member.kind; group->jsName = member.jsName; @@ -584,6 +596,7 @@ void BuildGroups(ModuleInfo& module) { group->overloads.push_back(&member); if (member.kind == NSSwiftMemberInitializer && member.owner >= 0) { module.types[member.owner].initializers = group; + module.types[owner].initializers = group; } } @@ -720,6 +733,7 @@ void BuildGroups(ModuleInfo& module) { if (!problem.empty()) { module->error = "Swift module '" + name + "' " + problem; } else { + BuildFamilies(*module); BuildGroups(*module); for (const auto& other : module->modules) { gModules.emplace(other, module); @@ -2376,23 +2390,41 @@ bool ReceiverIsEnumArgument(const MemberGroup& group) { // Methods, functions, and enum instance members (whose receiver, a case // name, is the first argument). +// A family's group holds every instantiation's overloads; an instance call +// can only reach those of the receiver's own type. +MemberGroup ForReceiver(Isolate* isolate, const MemberGroup& group, Local receiver) { + SwiftObjectWrapper* wrapper = receiver.IsEmpty() ? nullptr : SwiftWrapperOf(isolate, receiver); + if (wrapper == nullptr || wrapper->Module() != group.module) { + return group; + } + MemberGroup filtered = group; + filtered.overloads.clear(); + for (const MemberInfo* member : group.overloads) { + if (group.module->IsA(wrapper->TypeIndex(), member->owner)) { + filtered.overloads.push_back(member); + } + } + return filtered.overloads.empty() ? group : filtered; +} + void MethodCallback(const FunctionCallbackInfo& info) { Isolate* isolate = info.GetIsolate(); - const MemberGroup& group = *GroupOf(info); + const MemberGroup& all = *GroupOf(info); Local receiver; int first = 0; - if (ReceiverIsEnumArgument(group)) { + if (ReceiverIsEnumArgument(all)) { if (info.Length() < 1) { - isolate->ThrowException(Exception::TypeError(tns::ToV8String( - isolate, group.jsName + " needs a " + group.module->types[group.owner].jsName + - " case name as its first argument"))); + isolate->ThrowException(Exception::TypeError( + tns::ToV8String(isolate, all.jsName + " needs a " + all.module->types[all.owner].jsName + + " case name as its first argument"))); return; } receiver = info[0]; first = 1; - } else if (IsInstanceKind(group.kind)) { + } else if (IsInstanceKind(all.kind)) { receiver = info.This(); } + MemberGroup group = ForReceiver(isolate, all, receiver); std::vector> arguments = ArgumentsOf(info, first); Selection selection; @@ -2440,8 +2472,9 @@ void ExactCallback(const FunctionCallbackInfo& info) { void GetterCallback(const FunctionCallbackInfo& info) { Isolate* isolate = info.GetIsolate(); - const MemberGroup& group = *GroupOf(info); - Local receiver = IsInstanceKind(group.kind) ? Local(info.This()) : Local(); + const MemberGroup& all = *GroupOf(info); + Local receiver = IsInstanceKind(all.kind) ? Local(info.This()) : Local(); + MemberGroup group = ForReceiver(isolate, all, receiver); Local result; if (Invoke(isolate, group, *group.overloads[0], receiver, {}, false, Local()) .ToLocal(&result)) { @@ -2451,8 +2484,9 @@ void GetterCallback(const FunctionCallbackInfo& info) { void SetterCallback(const FunctionCallbackInfo& info) { Isolate* isolate = info.GetIsolate(); - const MemberGroup& group = *GroupOf(info); - Local receiver = IsInstanceKind(group.kind) ? Local(info.This()) : Local(); + const MemberGroup& all = *GroupOf(info); + Local receiver = IsInstanceKind(all.kind) ? Local(info.This()) : Local(); + MemberGroup group = ForReceiver(isolate, all, receiver); std::vector> arguments = {info.Length() > 0 ? info[0] : Local(v8::Undefined(isolate))}; Invoke(isolate, group, *group.overloads[0], receiver, arguments, true, Local()); @@ -2565,7 +2599,7 @@ bool Build() { _loaded.templates.resize(_module.types.size()); std::vector> templates(_module.types.size()); for (const TypeInfo& type : _module.types) { - if (IsEnumKind(type.kind)) { + if (IsEnumKind(type.kind) || type.family != static_cast(type.index)) { continue; } Local tmpl = @@ -2575,8 +2609,13 @@ bool Build() { templates[type.index] = tmpl; } for (const TypeInfo& type : _module.types) { - if (type.superIndex >= 0 && !templates[type.index].IsEmpty() && - !templates[type.superIndex].IsEmpty()) { + if (!IsEnumKind(type.kind)) { + templates[type.index] = templates[type.family]; + } + } + for (const TypeInfo& type : _module.types) { + if (type.family == static_cast(type.index) && type.superIndex >= 0 && + !templates[type.index].IsEmpty() && !templates[type.superIndex].IsEmpty()) { templates[type.index]->Inherit(templates[type.superIndex]); } } @@ -2584,7 +2623,8 @@ bool Build() { std::vector> enums(_module.types.size()); for (const TypeInfo& type : _module.types) { if (IsEnumKind(type.kind)) { - enums[type.index] = Object::New(_isolate); + enums[type.index] = type.family == static_cast(type.index) ? Object::New(_isolate) + : enums[type.family]; } } @@ -2611,6 +2651,10 @@ bool Build() { values[type.index] = enums[type.index]; continue; } + if (type.family != static_cast(type.index)) { + _loaded.templates[type.index].Reset(_isolate, templates[type.index]); + continue; + } Local function; if (!templates[type.index]->GetFunction(_context).ToLocal(&function)) { return false; @@ -2618,6 +2662,9 @@ bool Build() { _loaded.templates[type.index].Reset(_isolate, templates[type.index]); values[type.index] = function; } + for (const TypeInfo& type : _module.types) { + values[type.index] = values[type.family]; + } // Nested types hang off their parent by JS path ("Polygon.Style"); a // parent that is not bridged gets a plain namespace object. diff --git a/TestRunner/app/tests/SwiftInteropTests.js b/TestRunner/app/tests/SwiftInteropTests.js index 2e4cda75..627e655e 100644 --- a/TestRunner/app/tests/SwiftInteropTests.js +++ b/TestRunner/app/tests/SwiftInteropTests.js @@ -524,6 +524,48 @@ describe("ns:swift", function () { }); }); + describe("generic types", function () { + var Kit = swift.module("SwiftDemoKit"); + + it("gives every instantiation of a generic type one JS class", function () { + var pair = new Kit.Pair(1, "one"); + var score = SwiftDemo.makeScore("ada", 3); + expect(pair instanceof Kit.Pair).toBe(true); + expect(score instanceof Kit.Pair).toBe(true); + expect(pair.first).toBe(1); + expect(pair.second).toBe("one"); + expect(score.first).toBe("ada"); + expect(score.second).toBe(3); + }); + + it("picks the instantiation from the constructor's arguments", function () { + expect(SwiftDemo.describe(new Kit.Pair(2, "two"))).toBe("2:two"); + expect(function () { SwiftDemo.describe(new Kit.Pair("two", 2)); }) + .toThrowError(TypeError); + var swapped = new Kit.Pair(2, "two").swapped(); + expect(swapped.first).toBe("two"); + expect(swapped.second).toBe(2); + expect(swapped.swapped().first).toBe(2); + }); + + it("calls members of the receiver's own instantiation", function () { + var count = SwiftDemo.countBox(4); + var money = SwiftDemo.boxed(new Kit.Money(7, "EUR")); + expect(count.value).toBe(4); + expect(money.value.amount).toBe(7); + count.value = 5; + expect(count.value).toBe(5); + expect(count.replaced(9).value).toBe(9); + expect(function () { count.value = "x"; }).toThrowError(TypeError); + expect(new Kit.Box(new Kit.Money(1, "EUR")).value.amount).toBe(1); + }); + + it("bridges generic enums with associated values", function () { + expect(SwiftDemo.settle(3)).toEqual({ case: "done", value: 3 }); + expect(SwiftDemo.settle(-1)).toEqual({ case: "failed", reason: "negative" }); + }); + }); + describe("Objective-C objects", function () { it("passes NativeScript's Objective-C wrappers", function () { var view = UIView.new(); diff --git a/docs/swift-interop.md b/docs/swift-interop.md index a2f3b3b6..c06babff 100644 --- a/docs/swift-interop.md +++ b/docs/swift-interop.md @@ -62,6 +62,25 @@ re-exports it: `--swift-reexport SwiftUICore=SwiftUI` (implied for that pair). Generate everything an app uses as one unit: modules of different units cannot share types. +## Generic types + +A generic type is bridged through the concrete instantiations the unit's +declarations spell: WeatherKit's `lowTemperature: Measurement` +makes `Measurement` callable. To use an instantiation no API +spells, declare a public typealias in the app's Swift code: + +```swift +public typealias LengthMeasurement = Measurement +``` + +Every instantiation of a generic type shares one JS class, declared in +TypeScript as the generic class (`Measurement`): `new +Measurement(...)` picks the instantiation from its arguments, an instance +calls the members of its own instantiation, and `instanceof Measurement` +holds for all of them. A member that does not exist for an instantiation +(a constrained extension's) is left out of that instantiation. Generic +functions and methods are not bridged yet. + ## Value model | Swift | JavaScript | @@ -197,8 +216,8 @@ verification is what makes the generated surface trustworthy at SDK scale. ## Not yet supported -Closures that return values, async cancellation, generics -(including `Result`), protocols as values, tuples, sets, optional collection +Closures that return values, async cancellation, generic functions, +`Result` and other standard library generics, protocols as values, tuples, sets, optional collection elements, subscripts and operators. Each appears in the coverage report with its reason. diff --git a/metadata-generator/TestFixtures/SwiftDemo/Interop/SwiftDemo+NativeScript.swift b/metadata-generator/TestFixtures/SwiftDemo/Interop/SwiftDemo+NativeScript.swift index 06158ec2..0ead5703 100644 --- a/metadata-generator/TestFixtures/SwiftDemo/Interop/SwiftDemo+NativeScript.swift +++ b/metadata-generator/TestFixtures/SwiftDemo/Interop/SwiftDemo+NativeScript.swift @@ -316,7 +316,7 @@ private func __nsRelease(_ object: UnsafeMutableRawPointer) { } // s:12SwiftDemoKit4CoinO -private func __nsEnum0(_ name: String) -> SwiftDemoKit.Coin? { +private func __nsEnum2(_ name: String) -> SwiftDemoKit.Coin? { switch name { case "penny": return SwiftDemoKit.Coin.`penny` case "dime": return SwiftDemoKit.Coin.`dime` @@ -324,7 +324,7 @@ private func __nsEnum0(_ name: String) -> SwiftDemoKit.Coin? { } } -private func __nsEnumName0(_ value: SwiftDemoKit.Coin) -> String { +private func __nsEnumName2(_ value: SwiftDemoKit.Coin) -> String { switch value { case SwiftDemoKit.Coin.`penny`: return "penny" case SwiftDemoKit.Coin.`dime`: return "dime" @@ -332,8 +332,30 @@ private func __nsEnumName0(_ value: SwiftDemoKit.Coin) -> String { } } +// s:12SwiftDemoKit7OutcomeO +private func __nsReadCase7(_ slots: __NSSlots, _ i: Int) -> SwiftDemoKit.Outcome? { + let (s, _) = slots.elements(i) + switch s.int64(0) { + case 0: + let e0 = Int(truncatingIfNeeded: s.int64(1)) + return SwiftDemoKit.Outcome.`done`(e0) + case 1: + let e0 = s.string(1) + return SwiftDemoKit.Outcome.`failed`(reason: e0) + default: return nil + } +} + +private func __nsReportCase7(_ r: R, _ value: SwiftDemoKit.Outcome) { + switch value { + case let SwiftDemoKit.Outcome.`done`(p0): r.returnCase(0) { r.returnInt64(Int64(p0)) } + case let SwiftDemoKit.Outcome.`failed`(p0): r.returnCase(1) { r.returnString(p0) } + @unknown default: r.returnNull() + } +} + // s:9SwiftDemo10ShapeErrorO -private func __nsReadCase4(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.ShapeError? { +private func __nsReadCase9(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.ShapeError? { let (s, _) = slots.elements(i) switch s.int64(0) { case 0: @@ -349,7 +371,7 @@ private func __nsReadCase4(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.ShapeError } } -private func __nsReportCase4(_ r: R, _ value: SwiftDemo.ShapeError) { +private func __nsReportCase9(_ r: R, _ value: SwiftDemo.ShapeError) { switch value { case let SwiftDemo.ShapeError.`invalidSide`(p0): r.returnCase(0) { r.returnDouble(Double(p0)) } case let SwiftDemo.ShapeError.`tooManySides`(p0, p1): r.returnCase(1) { r.returnInt64(Int64(p0)); r.returnInt64(Int64(p1)) } @@ -359,7 +381,7 @@ private func __nsReportCase4(_ r: R, _ value: SwiftDemo.ShapeEr } // s:9SwiftDemo11MeasurementO -private func __nsReadCase5(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Measurement? { +private func __nsReadCase10(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Measurement? { let (s, _) = slots.elements(i) switch s.int64(0) { case 0: @@ -375,7 +397,7 @@ private func __nsReadCase5(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Measuremen } } -private func __nsReportCase5(_ r: R, _ value: SwiftDemo.Measurement) { +private func __nsReportCase10(_ r: R, _ value: SwiftDemo.Measurement) { switch value { case let SwiftDemo.Measurement.`area`(p0, p1): r.returnCase(0) { r.returnDouble(Double(p0)); r.returnDouble(Double(p1)) } case SwiftDemo.Measurement.`none`: r.returnCase(1) { } @@ -385,7 +407,7 @@ private func __nsReportCase5(_ r: R, _ value: SwiftDemo.Measure } // s:9SwiftDemo13PrecipitationO -private func __nsEnum7(_ name: String) -> SwiftDemo.Precipitation? { +private func __nsEnum12(_ name: String) -> SwiftDemo.Precipitation? { switch name { case "rain": return SwiftDemo.Precipitation.`rain` case "snow": return SwiftDemo.Precipitation.`snow` @@ -394,7 +416,7 @@ private func __nsEnum7(_ name: String) -> SwiftDemo.Precipitation? { } } -private func __nsEnumName7(_ value: SwiftDemo.Precipitation) -> String { +private func __nsEnumName12(_ value: SwiftDemo.Precipitation) -> String { switch value { case SwiftDemo.Precipitation.`rain`: return "rain" case SwiftDemo.Precipitation.`snow`: return "snow" @@ -404,7 +426,7 @@ private func __nsEnumName7(_ value: SwiftDemo.Precipitation) -> String { } // s:9SwiftDemo6FlavorO -private func __nsEnum12(_ name: String) -> SwiftDemo.Flavor? { +private func __nsEnum17(_ name: String) -> SwiftDemo.Flavor? { switch name { case "vanilla": return SwiftDemo.Flavor.`vanilla` case "chocolate": return SwiftDemo.Flavor.`chocolate` @@ -412,7 +434,7 @@ private func __nsEnum12(_ name: String) -> SwiftDemo.Flavor? { } } -private func __nsEnumName12(_ value: SwiftDemo.Flavor) -> String { +private func __nsEnumName17(_ value: SwiftDemo.Flavor) -> String { switch value { case SwiftDemo.Flavor.`vanilla`: return "vanilla" case SwiftDemo.Flavor.`chocolate`: return "chocolate" @@ -421,15 +443,15 @@ private func __nsEnumName12(_ value: SwiftDemo.Flavor) -> String { } // s:9SwiftDemo7FormulaO -private func __nsReadCase16(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Formula? { +private func __nsReadCase21(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Formula? { let (s, _) = slots.elements(i) switch s.int64(0) { case 0: - guard let e0 = __nsReadCase16(s, 1) else { return nil } - guard let e1 = __nsReadCase16(s, 2) else { return nil } + guard let e0 = __nsReadCase21(s, 1) else { return nil } + guard let e1 = __nsReadCase21(s, 2) else { return nil } return SwiftDemo.Formula.`sum`(e0, e1) case 1: - guard let e0 = __nsReadCase16(s, 1) else { return nil } + guard let e0 = __nsReadCase21(s, 1) else { return nil } return SwiftDemo.Formula.`negate`(e0) case 2: let e0 = s.double(1) @@ -438,17 +460,17 @@ private func __nsReadCase16(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Formula? } } -private func __nsReportCase16(_ r: R, _ value: SwiftDemo.Formula) { +private func __nsReportCase21(_ r: R, _ value: SwiftDemo.Formula) { switch value { - case let SwiftDemo.Formula.`sum`(p0, p1): r.returnCase(0) { __nsReportCase16(r, p0); __nsReportCase16(r, p1) } - case let SwiftDemo.Formula.`negate`(p0): r.returnCase(1) { __nsReportCase16(r, p0) } + case let SwiftDemo.Formula.`sum`(p0, p1): r.returnCase(0) { __nsReportCase21(r, p0); __nsReportCase21(r, p1) } + case let SwiftDemo.Formula.`negate`(p0): r.returnCase(1) { __nsReportCase21(r, p0) } case let SwiftDemo.Formula.`number`(p0): r.returnCase(2) { r.returnDouble(Double(p0)) } @unknown default: r.returnNull() } } // s:9SwiftDemo7PayloadO -private func __nsReadCase18(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Payload? { +private func __nsReadCase23(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Payload? { let (s, _) = slots.elements(i) switch s.int64(0) { case 0: @@ -461,7 +483,7 @@ private func __nsReadCase18(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Payload? guard let e0 = (s.object(1) as? __NSBox)?.value else { return nil } return SwiftDemo.Payload.`point`(e0) case 3: - guard let e0 = __nsEnum12(s.string(1)) else { return nil } + guard let e0 = __nsEnum17(s.string(1)) else { return nil } return SwiftDemo.Payload.`flavor`(e0) case 4: guard let e0 = s.object(1) as? SwiftDemo.Tracker else { return nil } @@ -470,19 +492,19 @@ private func __nsReadCase18(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Payload? } } -private func __nsReportCase18(_ r: R, _ value: SwiftDemo.Payload) { +private func __nsReportCase23(_ r: R, _ value: SwiftDemo.Payload) { switch value { case let SwiftDemo.Payload.`maybe`(p0): r.returnCase(0) { if let p0 { r.returnInt64(Int64(p0)) } else { r.returnNull() } } case let SwiftDemo.Payload.`names`(p0): r.returnCase(1) { r.returnArray(p0) { element in r.returnString(element) } } - case let SwiftDemo.Payload.`point`(p0): r.returnCase(2) { r.returnObject(__NSBox(p0), 10) } - case let SwiftDemo.Payload.`flavor`(p0): r.returnCase(3) { r.returnString(__nsEnumName12(p0)) } - case let SwiftDemo.Payload.`tracker`(p0): r.returnCase(4) { r.returnObject(p0, __nsTypeIndex(p0, 22)) } + case let SwiftDemo.Payload.`point`(p0): r.returnCase(2) { r.returnObject(__NSBox(p0), 15) } + case let SwiftDemo.Payload.`flavor`(p0): r.returnCase(3) { r.returnString(__nsEnumName17(p0)) } + case let SwiftDemo.Payload.`tracker`(p0): r.returnCase(4) { r.returnObject(p0, __nsTypeIndex(p0, 27)) } @unknown default: r.returnNull() } } // s:9SwiftDemo7PolygonC5StyleO -private func __nsEnum20(_ name: String) -> SwiftDemo.Polygon.Style? { +private func __nsEnum25(_ name: String) -> SwiftDemo.Polygon.Style? { switch name { case "solid": return SwiftDemo.Polygon.Style.`solid` case "dashed": return SwiftDemo.Polygon.Style.`dashed` @@ -490,7 +512,7 @@ private func __nsEnum20(_ name: String) -> SwiftDemo.Polygon.Style? { } } -private func __nsEnumName20(_ value: SwiftDemo.Polygon.Style) -> String { +private func __nsEnumName25(_ value: SwiftDemo.Polygon.Style) -> String { switch value { case SwiftDemo.Polygon.Style.`solid`: return "solid" case SwiftDemo.Polygon.Style.`dashed`: return "dashed" @@ -499,12 +521,182 @@ private func __nsEnumName20(_ value: SwiftDemo.Polygon.Style) -> String { } private func __nsTypeIndex(_ object: AnyObject, _ declared: UInt32) -> UInt32 { - if object is SwiftDemo.Square { return 14 } + if object is SwiftDemo.Square { return 19 } return declared } -// s:12SwiftDemoKit5MoneyV0aB0E6isZeroSbvp +// s:12SwiftDemoKit3BoxC5valuexvp@s:12SwiftDemoKit3BoxC private func __nsThunk0(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemoKit.Box else { return rt.throwTypeError("receiver must be SwiftDemoKit.Box") } + let result: SwiftDemoKit.Money = receiver.`value` + rt.returnObject(__NSBox(result), 5) +} + +// s:12SwiftDemoKit3BoxC5valuexvp@s:12SwiftDemoKit3BoxC (setter) +private func __nsThunk1(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemoKit.Box else { return rt.throwTypeError("receiver must be SwiftDemoKit.Box") } + guard let newValue = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("value must be SwiftDemoKit.Money") } + receiver.`value` = newValue + rt.returnVoid() +} + +// s:12SwiftDemoKit3BoxC5valuexvp@s:12SwiftDemoKit3BoxC +private func __nsThunk2(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemoKit.Box else { return rt.throwTypeError("receiver must be SwiftDemoKit.Box") } + let result: Int = receiver.`value` + rt.returnInt64(Int64(result)) +} + +// s:12SwiftDemoKit3BoxC5valuexvp@s:12SwiftDemoKit3BoxC (setter) +private func __nsThunk3(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemoKit.Box else { return rt.throwTypeError("receiver must be SwiftDemoKit.Box") } + let newValue = Int(truncatingIfNeeded: rt.slots.int64(1)) + receiver.`value` = newValue + rt.returnVoid() +} + +// s:12SwiftDemoKit3BoxC8replaced4withACyxGx_tF@s:12SwiftDemoKit3BoxC +private func __nsThunk4(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemoKit.Box else { return rt.throwTypeError("receiver must be SwiftDemoKit.Box") } + guard let a0 = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemoKit.Money") } + let result: SwiftDemoKit.Box = receiver.`replaced`(with: a0) + rt.returnObject(result, __nsTypeIndex(result, 0)) +} + +// s:12SwiftDemoKit3BoxC8replaced4withACyxGx_tF@s:12SwiftDemoKit3BoxC +private func __nsThunk5(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemoKit.Box else { return rt.throwTypeError("receiver must be SwiftDemoKit.Box") } + let a0 = Int(truncatingIfNeeded: rt.slots.int64(1)) + let result: SwiftDemoKit.Box = receiver.`replaced`(with: a0) + rt.returnObject(result, __nsTypeIndex(result, 1)) +} + +// s:12SwiftDemoKit3BoxCyACyxGxcfc@s:12SwiftDemoKit3BoxC +private func __nsThunk6(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let a0 = (rt.slots.object(0) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemoKit.Money") } + let result: SwiftDemoKit.Box = SwiftDemoKit.Box(a0) + rt.returnObject(result, __nsTypeIndex(result, 0)) +} + +// s:12SwiftDemoKit3BoxCyACyxGxcfc@s:12SwiftDemoKit3BoxC +private func __nsThunk7(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) + let result: SwiftDemoKit.Box = SwiftDemoKit.Box(a0) + rt.returnObject(result, __nsTypeIndex(result, 1)) +} + +// s:12SwiftDemoKit4PairV5first6secondACyxq_Gx_q_tcfc@s:12SwiftDemoKit4PairV +private func __nsThunk8(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + let a0 = rt.slots.string(0) + let a1 = Int(truncatingIfNeeded: rt.slots.int64(1)) + let result: SwiftDemoKit.Pair = SwiftDemoKit.Pair(first: a0, second: a1) + rt.returnObject(__NSBox(result), 3) +} + +// s:12SwiftDemoKit4PairV5first6secondACyxq_Gx_q_tcfc@s:12SwiftDemoKit4PairV +private func __nsThunk9(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) + let a1 = rt.slots.string(1) + let result: SwiftDemoKit.Pair = SwiftDemoKit.Pair(first: a0, second: a1) + rt.returnObject(__NSBox(result), 4) +} + +// s:12SwiftDemoKit4PairV5firstxvp@s:12SwiftDemoKit4PairV +private func __nsThunk10(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox> else { return rt.throwTypeError("receiver must be SwiftDemoKit.Pair") } + let result: String = box.value.`first` + rt.returnString(result) +} + +// s:12SwiftDemoKit4PairV5firstxvp@s:12SwiftDemoKit4PairV (setter) +private func __nsThunk11(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox> else { return rt.throwTypeError("receiver must be SwiftDemoKit.Pair") } + let newValue = rt.slots.string(1) + box.value.`first` = newValue + rt.returnVoid() +} + +// s:12SwiftDemoKit4PairV5firstxvp@s:12SwiftDemoKit4PairV +private func __nsThunk12(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox> else { return rt.throwTypeError("receiver must be SwiftDemoKit.Pair") } + let result: Int = box.value.`first` + rt.returnInt64(Int64(result)) +} + +// s:12SwiftDemoKit4PairV5firstxvp@s:12SwiftDemoKit4PairV (setter) +private func __nsThunk13(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox> else { return rt.throwTypeError("receiver must be SwiftDemoKit.Pair") } + let newValue = Int(truncatingIfNeeded: rt.slots.int64(1)) + box.value.`first` = newValue + rt.returnVoid() +} + +// s:12SwiftDemoKit4PairV6secondq_vp@s:12SwiftDemoKit4PairV +private func __nsThunk14(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox> else { return rt.throwTypeError("receiver must be SwiftDemoKit.Pair") } + let result: Int = box.value.`second` + rt.returnInt64(Int64(result)) +} + +// s:12SwiftDemoKit4PairV6secondq_vp@s:12SwiftDemoKit4PairV (setter) +private func __nsThunk15(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox> else { return rt.throwTypeError("receiver must be SwiftDemoKit.Pair") } + let newValue = Int(truncatingIfNeeded: rt.slots.int64(1)) + box.value.`second` = newValue + rt.returnVoid() +} + +// s:12SwiftDemoKit4PairV6secondq_vp@s:12SwiftDemoKit4PairV +private func __nsThunk16(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox> else { return rt.throwTypeError("receiver must be SwiftDemoKit.Pair") } + let result: String = box.value.`second` + rt.returnString(result) +} + +// s:12SwiftDemoKit4PairV6secondq_vp@s:12SwiftDemoKit4PairV (setter) +private func __nsThunk17(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox> else { return rt.throwTypeError("receiver must be SwiftDemoKit.Pair") } + let newValue = rt.slots.string(1) + box.value.`second` = newValue + rt.returnVoid() +} + +// s:12SwiftDemoKit4PairV7swappedACyq_xGyF@s:12SwiftDemoKit4PairV +private func __nsThunk18(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox> else { return rt.throwTypeError("receiver must be SwiftDemoKit.Pair") } + let result: SwiftDemoKit.Pair = box.value.`swapped`() + rt.returnObject(__NSBox(result), 4) +} + +// s:12SwiftDemoKit4PairV7swappedACyq_xGyF@s:12SwiftDemoKit4PairV +private func __nsThunk19(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox> else { return rt.throwTypeError("receiver must be SwiftDemoKit.Pair") } + let result: SwiftDemoKit.Pair = box.value.`swapped`() + rt.returnObject(__NSBox(result), 3) +} + +// s:12SwiftDemoKit5MoneyV0aB0E6isZeroSbvp +private func __nsThunk20(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemoKit.Money") } let result: Bool = box.value.`isZero` @@ -512,33 +704,33 @@ private func __nsThunk0(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointe } // s:12SwiftDemoKit5MoneyV0aB0E7doubledACyF -private func __nsThunk1(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk21(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemoKit.Money") } let result: SwiftDemoKit.Money = box.value.`doubled`() - rt.returnObject(__NSBox(result), 1) + rt.returnObject(__NSBox(result), 5) } // s:12SwiftDemoKit5MoneyV6addingyA2CF -private func __nsThunk2(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk22(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemoKit.Money") } guard let a0 = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemoKit.Money") } let result: SwiftDemoKit.Money = box.value.`adding`(a0) - rt.returnObject(__NSBox(result), 1) + rt.returnObject(__NSBox(result), 5) } // s:12SwiftDemoKit5MoneyV6amount8currencyACSi_SStcfc -private func __nsThunk3(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk23(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let a1 = rt.slots.string(1) let result: SwiftDemoKit.Money = SwiftDemoKit.Money(amount: a0, currency: a1) - rt.returnObject(__NSBox(result), 1) + rt.returnObject(__NSBox(result), 5) } // s:12SwiftDemoKit5MoneyV6amountSivp -private func __nsThunk4(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk24(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemoKit.Money") } let result: Int = box.value.`amount` @@ -546,7 +738,7 @@ private func __nsThunk4(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointe } // s:12SwiftDemoKit5MoneyV6amountSivp (setter) -private func __nsThunk5(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk25(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemoKit.Money") } let newValue = Int(truncatingIfNeeded: rt.slots.int64(1)) @@ -555,7 +747,7 @@ private func __nsThunk5(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointe } // s:12SwiftDemoKit5MoneyV8currencySSvp -private func __nsThunk6(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk26(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemoKit.Money") } let result: String = box.value.`currency` @@ -563,7 +755,7 @@ private func __nsThunk6(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointe } // s:12SwiftDemoKit5MoneyV8currencySSvp (setter) -private func __nsThunk7(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk27(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemoKit.Money") } let newValue = rt.slots.string(1) @@ -572,7 +764,7 @@ private func __nsThunk7(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointe } // s:12SwiftDemoKit6WalletC0aB0E7summarySSyF -private func __nsThunk8(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk28(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemoKit.Wallet else { return rt.throwTypeError("receiver must be SwiftDemoKit.Wallet") } let result: String = receiver.`summary`() @@ -580,15 +772,15 @@ private func __nsThunk8(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointe } // s:12SwiftDemoKit6WalletC5ownerACSS_tcfc -private func __nsThunk9(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk29(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemoKit.Wallet = SwiftDemoKit.Wallet(owner: a0) - rt.returnObject(result, __nsTypeIndex(result, 2)) + rt.returnObject(result, __nsTypeIndex(result, 6)) } // s:12SwiftDemoKit6WalletC5ownerSSvp -private func __nsThunk10(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk30(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemoKit.Wallet else { return rt.throwTypeError("receiver must be SwiftDemoKit.Wallet") } let result: String = receiver.`owner` @@ -596,15 +788,15 @@ private func __nsThunk10(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:12SwiftDemoKit6WalletC7balanceAA5MoneyVvp -private func __nsThunk11(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk31(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemoKit.Wallet else { return rt.throwTypeError("receiver must be SwiftDemoKit.Wallet") } let result: SwiftDemoKit.Money = receiver.`balance` - rt.returnObject(__NSBox(result), 1) + rt.returnObject(__NSBox(result), 5) } // s:12SwiftDemoKit6WalletC7deposityyAA5MoneyVF -private func __nsThunk12(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk32(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemoKit.Wallet else { return rt.throwTypeError("receiver must be SwiftDemoKit.Wallet") } guard let a0 = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemoKit.Money") } @@ -613,7 +805,7 @@ private func __nsThunk12(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:12SwiftDemoKit9formattedySSAA5MoneyVF -private func __nsThunk13(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk33(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = (rt.slots.object(0) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemoKit.Money") } let result: String = SwiftDemoKit.`formatted`(a0) @@ -621,7 +813,7 @@ private func __nsThunk13(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo0B0C5greet4name5timesS2S_SitF -private func __nsThunk14(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk34(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Demo else { return rt.throwTypeError("receiver must be SwiftDemo.Demo") } let a0 = rt.slots.string(1) @@ -631,7 +823,7 @@ private func __nsThunk14(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo0B0C5greet4nameS2S_tF -private func __nsThunk15(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk35(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Demo else { return rt.throwTypeError("receiver must be SwiftDemo.Demo") } let a0 = rt.slots.string(1) @@ -640,28 +832,28 @@ private func __nsThunk15(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo0B0C7versionSSvpZ -private func __nsThunk16(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk36(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: String = SwiftDemo.Demo.`version` rt.returnString(result) } // s:9SwiftDemo0B0CACycfc -private func __nsThunk17(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk37(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Demo = SwiftDemo.Demo() - rt.returnObject(result, __nsTypeIndex(result, 3)) + rt.returnObject(result, __nsTypeIndex(result, 8)) } // s:9SwiftDemo10allFlavorsSayAA6FlavorOGyF -private func __nsThunk18(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk38(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: [SwiftDemo.Flavor] = SwiftDemo.`allFlavors`() - rt.returnArray(result) { element in rt.returnString(__nsEnumName12(element)) } + rt.returnArray(result) { element in rt.returnString(__nsEnumName17(element)) } } // s:9SwiftDemo10echoUInt64ys0D0VADF -private func __nsThunk19(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk39(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.uint64(0) let result: UInt64 = SwiftDemo.`echoUInt64`(a0) @@ -669,7 +861,7 @@ private func __nsThunk19(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo10greetLater_10completionySSSg_yADYbctF -private func __nsThunk20(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk40(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.isNull(0) ? nil : rt.slots.string(0) let a1 = { () -> @Sendable (String?) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(1)); return { (p0: String?) in callback.invoke { r in if let p0 { r.returnString(p0) } else { r.returnNull() } } } }() @@ -678,14 +870,14 @@ private func __nsThunk20(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo10largestIntSiyF -private func __nsThunk21(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk41(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: Int = SwiftDemo.`largestInt`() rt.returnInt64(Int64(result)) } // s:9SwiftDemo10namesLaterySaySSGSiYaF -private func __nsThunk22(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk42(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let completion = rt.beginAsync() @@ -698,7 +890,7 @@ private func __nsThunk22(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo10wordCountsySDySSSiGSaySSGF -private func __nsThunk23(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk43(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> String? in s.string(j) }) else { return rt.throwTypeError("argument 1 must be an array of String") } let result: [String: Int] = SwiftDemo.`wordCounts`(a0) @@ -706,15 +898,15 @@ private func __nsThunk23(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc -private func __nsThunk24(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk44(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Measurement.Unit = SwiftDemo.Measurement.Unit(symbol: a0) - rt.returnObject(__NSBox(result), 6) + rt.returnObject(__NSBox(result), 11) } // s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp -private func __nsThunk25(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk45(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Measurement.Unit") } let result: String = box.value.`symbol` @@ -722,7 +914,7 @@ private func __nsThunk25(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp (setter) -private func __nsThunk26(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk46(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Measurement.Unit") } let newValue = rt.slots.string(1) @@ -731,15 +923,15 @@ private func __nsThunk26(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo11MeasurementO6isNoneSbvp -private func __nsThunk27(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk47(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsReadCase5(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Measurement") } + guard let receiver = __nsReadCase10(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Measurement") } let result: Bool = receiver.`isNone` rt.returnBool(result) } // s:9SwiftDemo11checkedSideyS2dKF -private func __nsThunk28(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk48(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) do { @@ -751,7 +943,7 @@ private func __nsThunk28(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo11delayedEcho_5afterS2S_SdtYaKF -private func __nsThunk29(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk49(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let a1 = rt.slots.double(1) @@ -769,7 +961,7 @@ private func __nsThunk29(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF -private func __nsThunk30(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk50(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = rt.slots.object(0) as? UIView else { return rt.throwTypeError("argument 1 must be a UIView") } let result: UIView? = SwiftDemo.`firstSubview`(of: a0) @@ -781,7 +973,7 @@ private func __nsThunk30(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF -private func __nsThunk31(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk51(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let completion = rt.beginAsync() @@ -789,58 +981,58 @@ private func __nsThunk31(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint Task { let a0 = captured.value let result: SwiftDemo.Measurement = await SwiftDemo.`measureLater`(a0) - __nsReportCase5(completion, result) + __nsReportCase10(completion, result) } } // s:9SwiftDemo12measurementsSayAA11MeasurementOGyF -private func __nsThunk32(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk52(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: [SwiftDemo.Measurement] = SwiftDemo.`measurements`() - rt.returnArray(result) { element in __nsReportCase5(rt, element) } + rt.returnArray(result) { element in __nsReportCase10(rt, element) } } // s:9SwiftDemo12swapTrackersyyAA7TrackerCz_ADztF -private func __nsThunk33(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk53(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let v0 = rt.slots.object(0) as? SwiftDemo.Tracker else { return rt.throwTypeError("argument 1 must be SwiftDemo.Tracker") } var a0 = v0 guard let v1 = rt.slots.object(1) as? SwiftDemo.Tracker else { return rt.throwTypeError("argument 2 must be SwiftDemo.Tracker") } var a1 = v1 let _: Void = SwiftDemo.`swapTrackers`(&a0, &a1) - rt.writeBack(0) { rt.returnObject(a0, __nsTypeIndex(a0, 22)) } - rt.writeBack(1) { rt.returnObject(a1, __nsTypeIndex(a1, 22)) } + rt.writeBack(0) { rt.returnObject(a0, __nsTypeIndex(a0, 27)) } + rt.writeBack(1) { rt.returnObject(a1, __nsTypeIndex(a1, 27)) } rt.returnVoid() } // s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc -private func __nsThunk34(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk54(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Precipitation? = SwiftDemo.Precipitation(rawValue: a0) if let result { - rt.returnString(__nsEnumName7(result)) + rt.returnString(__nsEnumName12(result)) } else { rt.returnNull() } } // s:9SwiftDemo13defaultFlavorAA0D0Ovp -private func __nsThunk35(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk55(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Flavor = SwiftDemo.`defaultFlavor` - rt.returnString(__nsEnumName12(result)) + rt.returnString(__nsEnumName17(result)) } // s:9SwiftDemo13globalCounterSivp -private func __nsThunk36(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk56(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: Int = SwiftDemo.`globalCounter` rt.returnInt64(Int64(result)) } // s:9SwiftDemo13globalCounterSivp (setter) -private func __nsThunk37(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk57(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let newValue = Int(truncatingIfNeeded: rt.slots.int64(0)) SwiftDemo.`globalCounter` = newValue @@ -848,22 +1040,22 @@ private func __nsThunk37(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF -private func __nsThunk38(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk58(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemoKit.Wallet = SwiftDemo.`starterWallet`(for: a0) - rt.returnObject(result, __nsTypeIndex(result, 2)) + rt.returnObject(result, __nsTypeIndex(result, 6)) } // s:9SwiftDemo16makeDefaultPointAA0E0VyF -private func __nsThunk39(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk59(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Point = SwiftDemo.`makeDefaultPoint`() - rt.returnObject(__NSBox(result), 10) + rt.returnObject(__NSBox(result), 15) } // s:9SwiftDemo16makeTrackerLater2idAA0D0CSi_tYaF -private func __nsThunk40(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk60(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let completion = rt.beginAsync() @@ -871,20 +1063,20 @@ private func __nsThunk40(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint Task { let a0 = captured.value let result: SwiftDemo.Tracker = await SwiftDemo.`makeTrackerLater`(id: a0) - completion.returnObject(result, __nsTypeIndex(result, 22)) + completion.returnObject(result, __nsTypeIndex(result, 27)) } } // s:9SwiftDemo3JobO6TicketV2idAESi_tcfc -private func __nsThunk41(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk61(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: SwiftDemo.Job.Ticket = SwiftDemo.Job.Ticket(id: a0) - rt.returnObject(__NSBox(result), 8) + rt.returnObject(__NSBox(result), 13) } // s:9SwiftDemo3JobO6TicketV2idSivp -private func __nsThunk42(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk62(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Job.Ticket") } let result: Int = box.value.`id` @@ -892,7 +1084,7 @@ private func __nsThunk42(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo3JobO6TicketV2idSivp (setter) -private func __nsThunk43(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk63(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Job.Ticket") } let newValue = Int(truncatingIfNeeded: rt.slots.int64(1)) @@ -901,32 +1093,32 @@ private func __nsThunk43(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF -private func __nsThunk44(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk64(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> SwiftDemoKit.Money? in (s.object(j) as? __NSBox)?.value }) else { return rt.throwTypeError("argument 1 must be an array of SwiftDemoKit.Money") } let result: SwiftDemoKit.Money = SwiftDemo.`sum`(of: a0) - rt.returnObject(__NSBox(result), 1) + rt.returnObject(__NSBox(result), 5) } // s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc -private func __nsThunk45(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk65(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = (rt.slots.object(0) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemo.Point") } guard let a1 = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("argument 2 must be SwiftDemo.Point") } let result: SwiftDemo.Ring = SwiftDemo.Ring(inner: a0, outer: a1) - rt.returnObject(__NSBox(result), 9) + rt.returnObject(__NSBox(result), 14) } // s:9SwiftDemo4RingV5innerAA5PointVvp -private func __nsThunk46(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk66(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } let result: SwiftDemo.Point = box.value.`inner` - rt.returnObject(__NSBox(result), 10) + rt.returnObject(__NSBox(result), 15) } // s:9SwiftDemo4RingV5innerAA5PointVvp (setter) -private func __nsThunk47(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk67(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } guard let newValue = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("value must be SwiftDemo.Point") } @@ -935,15 +1127,15 @@ private func __nsThunk47(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4RingV5outerAA5PointVvp -private func __nsThunk48(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk68(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } let result: SwiftDemo.Point = box.value.`outer` - rt.returnObject(__NSBox(result), 10) + rt.returnObject(__NSBox(result), 15) } // s:9SwiftDemo4RingV5outerAA5PointVvp (setter) -private func __nsThunk49(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk69(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } guard let newValue = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("value must be SwiftDemo.Point") } @@ -952,7 +1144,7 @@ private func __nsThunk49(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4RingV6expand2byySd_tF -private func __nsThunk50(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk70(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } let a0 = rt.slots.double(1) @@ -961,15 +1153,15 @@ private func __nsThunk50(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4area2ofSdAA11MeasurementO_tF -private func __nsThunk51(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk71(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsReadCase5(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Measurement") } + guard let a0 = __nsReadCase10(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Measurement") } let result: Double = SwiftDemo.`area`(of: a0) rt.returnDouble(Double(result)) } // s:9SwiftDemo4bumpyySizF -private func __nsThunk52(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk72(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let v0 = Int(truncatingIfNeeded: rt.slots.int64(0)) var a0 = v0 @@ -979,23 +1171,23 @@ private func __nsThunk52(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4echoyAA7PayloadOADF -private func __nsThunk53(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk73(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsReadCase18(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Payload") } + guard let a0 = __nsReadCase23(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Payload") } let result: SwiftDemo.Payload = SwiftDemo.`echo`(a0) - __nsReportCase18(rt, result) + __nsReportCase23(rt, result) } // s:9SwiftDemo4flipy0aB3Kit4CoinOAEF -private func __nsThunk54(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk74(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsEnum0(rt.slots.string(0)) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemoKit.Coin") } + guard let a0 = __nsEnum2(rt.slots.string(0)) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemoKit.Coin") } let result: SwiftDemoKit.Coin = SwiftDemo.`flip`(a0) - rt.returnString(__nsEnumName0(result)) + rt.returnString(__nsEnumName2(result)) } // s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF -private func __nsThunk55(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk75(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = URL(string: rt.slots.string(0)) else { return rt.throwTypeError("argument 1 must be a valid URL") } let result: String? = SwiftDemo.`host`(of: a0) @@ -1007,7 +1199,7 @@ private func __nsThunk55(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4rampy10Foundation4DataVSiF -private func __nsThunk56(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk76(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: Data = SwiftDemo.`ramp`(a0) @@ -1015,7 +1207,7 @@ private func __nsThunk56(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF -private func __nsThunk57(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk77(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> UIView? in s.object(j) as? UIView }) else { return rt.throwTypeError("argument 1 must be an array of a UIView") } let result: [Int] = SwiftDemo.`tags`(a0) @@ -1023,7 +1215,7 @@ private func __nsThunk57(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4text2ofSSAA4NoteC_tF -private func __nsThunk58(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk78(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = rt.slots.object(0) as? SwiftDemo.Note else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Note") } let result: String = SwiftDemo.`text`(of: a0) @@ -1031,7 +1223,7 @@ private func __nsThunk58(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV11descriptionSSvp -private func __nsThunk59(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk79(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let result: String = box.value.`description` @@ -1039,16 +1231,16 @@ private func __nsThunk59(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV1x1yACSd_Sdtcfc -private func __nsThunk60(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk80(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let a1 = rt.slots.double(1) let result: SwiftDemo.Point = SwiftDemo.Point(x: a0, y: a1) - rt.returnObject(__NSBox(result), 10) + rt.returnObject(__NSBox(result), 15) } // s:9SwiftDemo5PointV1xSdvp -private func __nsThunk61(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk81(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let result: Double = box.value.`x` @@ -1056,7 +1248,7 @@ private func __nsThunk61(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV1xSdvp (setter) -private func __nsThunk62(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk82(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let newValue = rt.slots.double(1) @@ -1065,7 +1257,7 @@ private func __nsThunk62(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV1ySdvp -private func __nsThunk63(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk83(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let result: Double = box.value.`y` @@ -1073,7 +1265,7 @@ private func __nsThunk63(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV1ySdvp (setter) -private func __nsThunk64(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk84(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let newValue = rt.slots.double(1) @@ -1082,15 +1274,23 @@ private func __nsThunk64(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV6lengthSdvp -private func __nsThunk65(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk85(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let result: Double = box.value.`length` rt.returnDouble(Double(result)) } +// s:9SwiftDemo5boxedy0aB3Kit3BoxCyAC5MoneyVGAGF +private func __nsThunk86(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let a0 = (rt.slots.object(0) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemoKit.Money") } + let result: SwiftDemoKit.Box = SwiftDemo.`boxed`(a0) + rt.returnObject(result, __nsTypeIndex(result, 0)) +} + // s:9SwiftDemo5clearyySSSgzF -private func __nsThunk66(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk87(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let v0 = rt.slots.isNull(0) ? nil : rt.slots.string(0) var a0 = v0 @@ -1100,7 +1300,7 @@ private func __nsThunk66(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5halveyySizKF -private func __nsThunk67(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk88(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let v0 = Int(truncatingIfNeeded: rt.slots.int64(0)) var a0 = v0 @@ -1114,7 +1314,7 @@ private func __nsThunk67(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5namesySaySSGSiF -private func __nsThunk68(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk89(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: [String] = SwiftDemo.`names`(a0) @@ -1122,7 +1322,7 @@ private func __nsThunk68(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5shoutySSSgACF -private func __nsThunk69(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk90(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.isNull(0) ? nil : rt.slots.string(0) let result: String? = SwiftDemo.`shout`(a0) @@ -1134,7 +1334,7 @@ private func __nsThunk69(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5totalySdSaySdGF -private func __nsThunk70(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk91(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> Double? in s.double(j) }) else { return rt.throwTypeError("argument 1 must be an array of Double") } let result: Double = SwiftDemo.`total`(a0) @@ -1142,37 +1342,37 @@ private func __nsThunk70(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6CanvasCACycfc -private func __nsThunk71(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk92(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard Thread.isMainThread else { return rt.throwMessage("init() is isolated to the main actor; call it on the main thread") } MainActor.assumeIsolated { let result: SwiftDemo.Canvas = SwiftDemo.Canvas() - rt.returnObject(result, __nsTypeIndex(result, 11)) + rt.returnObject(result, __nsTypeIndex(result, 16)) } } // s:9SwiftDemo6FlavorO11descriptionSSvp -private func __nsThunk72(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk93(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsEnum12(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Flavor") } + guard let receiver = __nsEnum17(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Flavor") } let result: String = receiver.`description` rt.returnString(result) } // s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc -private func __nsThunk73(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk94(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: SwiftDemo.Flavor? = SwiftDemo.Flavor(rawValue: a0) if let result { - rt.returnString(__nsEnumName12(result)) + rt.returnString(__nsEnumName17(result)) } else { rt.returnNull() } } // s:9SwiftDemo6LoaderC10modernOnlyyyF -private func __nsThunk74(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk95(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard #available(iOS 16.0, *) else { return rt.throwMessage("modernOnly() requires iOS 16.0") } guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } @@ -1181,7 +1381,7 @@ private func __nsThunk74(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC11legacyFetchyyF -private func __nsThunk75(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk96(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let _: Void = receiver.`legacyFetch`() @@ -1189,7 +1389,7 @@ private func __nsThunk75(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC4eachyyySiXEF -private func __nsThunk76(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk97(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let a0 = { () -> (Int) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(1)); return { (p0: Int) in callback.invoke { r in r.returnInt64(Int64(p0)) } } }() @@ -1198,7 +1398,7 @@ private func __nsThunk76(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF -private func __nsThunk77(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk98(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let a0 = rt.slots.string(1) @@ -1211,7 +1411,7 @@ private func __nsThunk77(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF -private func __nsThunk78(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk99(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let a0 = rt.slots.double(1) @@ -1225,7 +1425,7 @@ private func __nsThunk78(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF -private func __nsThunk79(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk100(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } guard let a0 = URL(string: rt.slots.string(1)) else { return rt.throwTypeError("argument 1 must be a valid URL") } @@ -1243,7 +1443,7 @@ private func __nsThunk79(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF -private func __nsThunk80(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk101(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } guard let a0 = __nsReadMap(rt.slots, 1, { (s: __NSSlots, j: Int) -> Int? in Int(truncatingIfNeeded: s.int64(j)) }) else { return rt.throwTypeError("argument 1 must be an object whose values are Int") } @@ -1257,18 +1457,18 @@ private func __nsThunk80(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC6updateyyAA5PointVzF -private func __nsThunk81(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk102(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } guard let v0 = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemo.Point") } var a0 = v0 let _: Void = receiver.`update`(&a0) - rt.writeBack(0) { rt.returnObject(__NSBox(a0), 10) } + rt.writeBack(0) { rt.returnObject(__NSBox(a0), 15) } rt.returnVoid() } // s:9SwiftDemo6LoaderC8oldFetchyyF -private func __nsThunk82(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk103(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let _: Void = receiver.`oldFetch`() @@ -1276,14 +1476,14 @@ private func __nsThunk82(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderCACycfc -private func __nsThunk83(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk104(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Loader = SwiftDemo.Loader() - rt.returnObject(result, __nsTypeIndex(result, 13)) + rt.returnObject(result, __nsTypeIndex(result, 18)) } // s:9SwiftDemo6SquareC4areaSdvp -private func __nsThunk84(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk105(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let result: Double = receiver.`area` @@ -1291,15 +1491,15 @@ private func __nsThunk84(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6SquareC4sideACSd_tcfc -private func __nsThunk85(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk106(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let result: SwiftDemo.Square = SwiftDemo.Square(side: a0) - rt.returnObject(result, __nsTypeIndex(result, 14)) + rt.returnObject(result, __nsTypeIndex(result, 19)) } // s:9SwiftDemo6SquareC4sideSdvp -private func __nsThunk86(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk107(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let result: Double = receiver.`side` @@ -1307,7 +1507,7 @@ private func __nsThunk86(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6SquareC4sideSdvp (setter) -private func __nsThunk87(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk108(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let newValue = rt.slots.double(1) @@ -1316,7 +1516,7 @@ private func __nsThunk87(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6SquareC5greet4nameS2S_tF -private func __nsThunk88(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk109(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let a0 = rt.slots.string(1) @@ -1325,7 +1525,7 @@ private func __nsThunk88(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6SquareC5scale2byySd_tF -private func __nsThunk89(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk110(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let a0 = rt.slots.double(1) @@ -1334,14 +1534,14 @@ private func __nsThunk89(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6SquareC5sidesSivpZ -private func __nsThunk90(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk111(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: Int = SwiftDemo.Square.`sides` rt.returnInt64(Int64(result)) } // s:9SwiftDemo6append_2toySS_SaySSGztF -private func __nsThunk91(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk112(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) guard let v1 = __nsReadArray(rt.slots, 1, { (s: __NSSlots, j: Int) -> String? in s.string(j) }) else { return rt.throwTypeError("argument 2 must be an array of String") } @@ -1351,8 +1551,16 @@ private func __nsThunk91(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint rt.returnVoid() } +// s:9SwiftDemo6settley0aB3Kit7OutcomeOySiGSiF +private func __nsThunk113(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) + let result: SwiftDemoKit.Outcome = SwiftDemo.`settle`(a0) + __nsReportCase7(rt, result) +} + // s:9SwiftDemo7CounterC4stepSivp -private func __nsThunk92(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk114(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Counter else { return rt.throwTypeError("receiver must be SwiftDemo.Counter") } let completion = rt.beginAsync() @@ -1365,7 +1573,7 @@ private func __nsThunk92(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7CounterC5labelSSyF -private func __nsThunk93(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk115(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Counter else { return rt.throwTypeError("receiver must be SwiftDemo.Counter") } let result: String = receiver.`label`() @@ -1373,7 +1581,7 @@ private func __nsThunk93(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7CounterC5valueSivp -private func __nsThunk94(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk116(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Counter else { return rt.throwTypeError("receiver must be SwiftDemo.Counter") } let completion = rt.beginAsync() @@ -1386,7 +1594,7 @@ private func __nsThunk94(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7CounterC9incrementSiyF -private func __nsThunk95(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk117(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Counter else { return rt.throwTypeError("receiver must be SwiftDemo.Counter") } let completion = rt.beginAsync() @@ -1399,22 +1607,22 @@ private func __nsThunk95(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7CounterCACycfc -private func __nsThunk96(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk118(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Counter = SwiftDemo.Counter() - rt.returnObject(result, __nsTypeIndex(result, 15)) + rt.returnObject(result, __nsTypeIndex(result, 20)) } // s:9SwiftDemo7FormulaO5valueSdvp -private func __nsThunk97(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk119(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsReadCase16(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Formula") } + guard let receiver = __nsReadCase21(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Formula") } let result: Double = receiver.`value` rt.returnDouble(Double(result)) } // s:9SwiftDemo7PaletteC11strokeLaterSiyYaF -private func __nsThunk98(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk120(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Palette else { return rt.throwTypeError("receiver must be SwiftDemo.Palette") } let completion = rt.beginAsync() @@ -1427,7 +1635,7 @@ private func __nsThunk98(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7PaletteC6strokeSiyF -private func __nsThunk99(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk121(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Palette else { return rt.throwTypeError("receiver must be SwiftDemo.Palette") } guard Thread.isMainThread else { return rt.throwMessage("stroke() is isolated to the main actor; call it on the main thread") } @@ -1438,7 +1646,7 @@ private func __nsThunk99(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo7PaletteC7strokesSivp -private func __nsThunk100(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk122(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Palette else { return rt.throwTypeError("receiver must be SwiftDemo.Palette") } guard Thread.isMainThread else { return rt.throwMessage("strokes is isolated to the main actor; call it on the main thread") } @@ -1449,17 +1657,17 @@ private func __nsThunk100(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PaletteCACycfc -private func __nsThunk101(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk123(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard Thread.isMainThread else { return rt.throwMessage("init() is isolated to the main actor; call it on the main thread") } MainActor.assumeIsolated { let result: SwiftDemo.Palette = SwiftDemo.Palette() - rt.returnObject(result, __nsTypeIndex(result, 17)) + rt.returnObject(result, __nsTypeIndex(result, 22)) } } // s:9SwiftDemo7PolygonC11vertexCountSivp -private func __nsThunk102(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk124(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let result: Int = receiver.`vertexCount` @@ -1467,35 +1675,35 @@ private func __nsThunk102(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC4makeACyFZ -private func __nsThunk103(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk125(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Polygon = SwiftDemo.Polygon.`make`() - rt.returnObject(result, __nsTypeIndex(result, 19)) + rt.returnObject(result, __nsTypeIndex(result, 24)) } // s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc -private func __nsThunk104(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk126(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let a1 = Int(truncatingIfNeeded: rt.slots.int64(1)) let result: SwiftDemo.Polygon = SwiftDemo.Polygon(name: a0, vertexCount: a1) - rt.returnObject(result, __nsTypeIndex(result, 19)) + rt.returnObject(result, __nsTypeIndex(result, 24)) } // s:9SwiftDemo7PolygonC4nameACSgSS_tcfc -private func __nsThunk105(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk127(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Polygon? = SwiftDemo.Polygon(name: a0) if let result { - rt.returnObject(result, __nsTypeIndex(result, 19)) + rt.returnObject(result, __nsTypeIndex(result, 24)) } else { rt.returnNull() } } // s:9SwiftDemo7PolygonC4nameSSvp -private func __nsThunk106(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk128(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let result: String = receiver.`name` @@ -1503,19 +1711,19 @@ private func __nsThunk106(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc -private func __nsThunk107(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk129(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Polygon.Style? = SwiftDemo.Polygon.Style(rawValue: a0) if let result { - rt.returnString(__nsEnumName20(result)) + rt.returnString(__nsEnumName25(result)) } else { rt.returnNull() } } // s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF -private func __nsThunk108(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk130(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let a0 = rt.slots.double(1) @@ -1525,7 +1733,7 @@ private func __nsThunk108(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC5scale2byySd_tF -private func __nsThunk109(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk131(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let a0 = rt.slots.double(1) @@ -1534,7 +1742,7 @@ private func __nsThunk109(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC5scale2byySi_tF -private func __nsThunk110(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk132(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let a0 = Int(truncatingIfNeeded: rt.slots.int64(1)) @@ -1543,30 +1751,30 @@ private func __nsThunk110(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC5styleAC5StyleOvp -private func __nsThunk111(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk133(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let result: SwiftDemo.Polygon.Style = receiver.`style` - rt.returnString(__nsEnumName20(result)) + rt.returnString(__nsEnumName25(result)) } // s:9SwiftDemo7PolygonC6sharedACvpZ -private func __nsThunk112(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk134(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Polygon = SwiftDemo.Polygon.`shared` - rt.returnObject(result, __nsTypeIndex(result, 19)) + rt.returnObject(result, __nsTypeIndex(result, 24)) } // s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc -private func __nsThunk113(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk135(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let result: SwiftDemo.Polygon.Metrics = SwiftDemo.Polygon.Metrics(perimeter: a0) - rt.returnObject(__NSBox(result), 21) + rt.returnObject(__NSBox(result), 26) } // s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp -private func __nsThunk114(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk136(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon.Metrics") } let result: Double = box.value.`perimeter` @@ -1574,7 +1782,7 @@ private func __nsThunk114(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp (setter) -private func __nsThunk115(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk137(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon.Metrics") } let newValue = rt.slots.double(1) @@ -1583,16 +1791,16 @@ private func __nsThunk115(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF -private func __nsThunk116(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk138(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let a0 = rt.slots.double(1) let result: SwiftDemo.Polygon.Metrics = receiver.`metrics`(side: a0) - rt.returnObject(__NSBox(result), 21) + rt.returnObject(__NSBox(result), 26) } // s:9SwiftDemo7PolygonC8describeySSACSgFZ -private func __nsThunk117(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk139(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) var a0: SwiftDemo.Polygon? = nil if !rt.slots.isNull(0) { @@ -1604,15 +1812,15 @@ private func __nsThunk117(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7TrackerC2idACSi_tcfc -private func __nsThunk118(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk140(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: SwiftDemo.Tracker = SwiftDemo.Tracker(id: a0) - rt.returnObject(result, __nsTypeIndex(result, 22)) + rt.returnObject(result, __nsTypeIndex(result, 27)) } // s:9SwiftDemo7TrackerC2idSivp -private func __nsThunk119(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk141(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Tracker else { return rt.throwTypeError("receiver must be SwiftDemo.Tracker") } let result: Int = receiver.`id` @@ -1620,30 +1828,30 @@ private func __nsThunk119(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7TrackerC4sameACyF -private func __nsThunk120(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk142(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Tracker else { return rt.throwTypeError("receiver must be SwiftDemo.Tracker") } let result: SwiftDemo.Tracker = receiver.`same`() - rt.returnObject(result, __nsTypeIndex(result, 22)) + rt.returnObject(result, __nsTypeIndex(result, 27)) } // s:9SwiftDemo7TrackerC9liveCountSivpZ -private func __nsThunk121(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk143(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: Int = SwiftDemo.Tracker.`liveCount` rt.returnInt64(Int64(result)) } // s:9SwiftDemo7explainySSAA10ShapeErrorOF -private func __nsThunk122(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk144(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsReadCase4(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.ShapeError") } + guard let a0 = __nsReadCase9(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.ShapeError") } let result: String = SwiftDemo.`explain`(a0) rt.returnString(result) } // s:9SwiftDemo7lengthsySDySSSiGSDyS2SGF -private func __nsThunk123(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk145(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadMap(rt.slots, 0, { (s: __NSSlots, j: Int) -> String? in s.string(j) }) else { return rt.throwTypeError("argument 1 must be an object whose values are String") } let result: [String: Int] = SwiftDemo.`lengths`(a0) @@ -1651,16 +1859,16 @@ private func __nsThunk123(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7measure_2byAA11MeasurementOSd_SdSgtF -private func __nsThunk124(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk146(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let a1 = rt.slots.isNull(1) ? nil : rt.slots.double(1) let result: SwiftDemo.Measurement = SwiftDemo.`measure`(a0, by: a1) - __nsReportCase5(rt, result) + __nsReportCase10(rt, result) } // s:9SwiftDemo7nextDay5after10Foundation4DateVAF_tF -private func __nsThunk125(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk147(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Date(timeIntervalSince1970: rt.slots.double(0) / 1000) let result: Date = SwiftDemo.`nextDay`(after: a0) @@ -1668,7 +1876,7 @@ private func __nsThunk125(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7resolve_7against10Foundation3URLVSS_AFtF -private func __nsThunk126(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk148(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) guard let a1 = URL(string: rt.slots.string(1)) else { return rt.throwTypeError("argument 2 must be a valid URL") } @@ -1677,7 +1885,7 @@ private func __nsThunk126(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC12publishLateryySSF -private func __nsThunk127(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk149(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let a0 = rt.slots.string(1) @@ -1686,7 +1894,7 @@ private func __nsThunk127(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC5clearyyF -private func __nsThunk128(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk150(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let _: Void = receiver.`clear`() @@ -1694,7 +1902,7 @@ private func __nsThunk128(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC5countSivp -private func __nsThunk129(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk151(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let result: Int = receiver.`count` @@ -1702,7 +1910,7 @@ private func __nsThunk129(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC7publishyySSF -private func __nsThunk130(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk152(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let a0 = rt.slots.string(1) @@ -1711,7 +1919,7 @@ private func __nsThunk130(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC9subscribeyyySSYbcF -private func __nsThunk131(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk153(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let a0 = { () -> @Sendable (String) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(1)); return { (p0: String) in callback.invoke { r in r.returnString(p0) } } }() @@ -1720,30 +1928,46 @@ private func __nsThunk131(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierCACycfc -private func __nsThunk132(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk154(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Notifier = SwiftDemo.Notifier() - rt.returnObject(result, __nsTypeIndex(result, 23)) + rt.returnObject(result, __nsTypeIndex(result, 28)) } // s:9SwiftDemo8centroid2ofAA5PointVSayAEG_tF -private func __nsThunk133(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk155(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> SwiftDemo.Point? in (s.object(j) as? __NSBox)?.value }) else { return rt.throwTypeError("argument 1 must be an array of SwiftDemo.Point") } let result: SwiftDemo.Point = SwiftDemo.`centroid`(of: a0) - rt.returnObject(__NSBox(result), 10) + rt.returnObject(__NSBox(result), 15) } // s:9SwiftDemo8checksumySi10Foundation4DataVF -private func __nsThunk134(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk156(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.bytes(0) let result: Int = SwiftDemo.`checksum`(a0) rt.returnInt64(Int64(result)) } +// s:9SwiftDemo8countBoxy0aB3Kit0D0CySiGSiF +private func __nsThunk157(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) + let result: SwiftDemoKit.Box = SwiftDemo.`countBox`(a0) + rt.returnObject(result, __nsTypeIndex(result, 1)) +} + +// s:9SwiftDemo8describeySS0aB3Kit4PairVySiSSGF +private func __nsThunk158(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let a0 = (rt.slots.object(0) as? __NSBox>)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemoKit.Pair") } + let result: String = SwiftDemo.`describe`(a0) + rt.returnString(result) +} + // s:9SwiftDemo8describeySSSo6UIViewCF -private func __nsThunk135(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk159(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = rt.slots.object(0) as? UIView else { return rt.throwTypeError("argument 1 must be a UIView") } let result: String = SwiftDemo.`describe`(a0) @@ -1751,7 +1975,7 @@ private func __nsThunk135(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8echoInt8ys0D0VADF -private func __nsThunk136(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk160(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int8(truncatingIfNeeded: rt.slots.int64(0)) let result: Int8 = SwiftDemo.`echoInt8`(a0) @@ -1759,7 +1983,7 @@ private func __nsThunk136(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8makeNoteyAA0D0CSSF -private func __nsThunk137(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk161(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Note = SwiftDemo.`makeNote`(a0) @@ -1767,7 +1991,7 @@ private func __nsThunk137(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8mirroredySaySaySiGGADF -private func __nsThunk138(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk162(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> [Int]? in __nsReadArray(s, j, { (s: __NSSlots, j: Int) -> Int? in Int(truncatingIfNeeded: s.int64(j)) }) }) else { return rt.throwTypeError("argument 1 must be an array of an array of Int") } let result: [[Int]] = SwiftDemo.`mirrored`(a0) @@ -1775,23 +1999,23 @@ private func __nsThunk138(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8simplifyyAA7FormulaOADF -private func __nsThunk139(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk163(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsReadCase16(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Formula") } + guard let a0 = __nsReadCase21(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Formula") } let result: SwiftDemo.Formula = SwiftDemo.`simplify`(a0) - __nsReportCase16(rt, result) + __nsReportCase21(rt, result) } // s:9SwiftDemo8trackersySayAA7TrackerCGSaySiGF -private func __nsThunk140(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk164(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> Int? in Int(truncatingIfNeeded: s.int64(j)) }) else { return rt.throwTypeError("argument 1 must be an array of Int") } let result: [SwiftDemo.Tracker] = SwiftDemo.`trackers`(a0) - rt.returnArray(result) { element in rt.returnObject(element, __nsTypeIndex(element, 22)) } + rt.returnArray(result) { element in rt.returnObject(element, __nsTypeIndex(element, 27)) } } // s:9SwiftDemo9countdown4from_ySi_ySi_SbtXEtF -private func __nsThunk141(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk165(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let a1 = { () -> (Int, Bool) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(1)); return { (p0: Int, p1: Bool) in callback.invoke { r in r.returnInt64(Int64(p0)); r.returnBool(p1) } } }() @@ -1800,7 +2024,7 @@ private func __nsThunk141(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo9makeLabelySo7UILabelCSSF -private func __nsThunk142(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk166(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) guard Thread.isMainThread else { return rt.throwMessage("makeLabel(_:) is isolated to the main actor; call it on the main thread") } @@ -1810,8 +2034,17 @@ private func __nsThunk142(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } } +// s:9SwiftDemo9makeScorey0aB3Kit4PairVySSSiGSS_SitF +private func __nsThunk167(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + let a0 = rt.slots.string(0) + let a1 = Int(truncatingIfNeeded: rt.slots.int64(1)) + let result: Score = SwiftDemo.`makeScore`(a0, a1) + rt.returnObject(__NSBox(result), 3) +} + // s:9SwiftDemo9noteLateryAA4NoteCSSYaF -private func __nsThunk143(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk168(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let completion = rt.beginAsync() @@ -1824,41 +2057,41 @@ private func __nsThunk143(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo9onMeasureyyyAA11MeasurementOXEF -private func __nsThunk144(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk169(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - let a0 = { () -> (SwiftDemo.Measurement) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(0)); return { (p0: SwiftDemo.Measurement) in callback.invoke { r in __nsReportCase5(r, p0) } } }() + let a0 = { () -> (SwiftDemo.Measurement) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(0)); return { (p0: SwiftDemo.Measurement) in callback.invoke { r in __nsReportCase10(r, p0) } } }() let _: Void = SwiftDemo.`onMeasure`(a0) rt.returnVoid() } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO -private func __nsThunk145(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk170(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsEnum7(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Precipitation") } + guard let receiver = __nsEnum12(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Precipitation") } let result: Int = receiver.`hashValue` rt.returnInt64(Int64(result)) } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO -private func __nsThunk146(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk171(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsEnum12(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Flavor") } + guard let receiver = __nsEnum17(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Flavor") } let result: Int = receiver.`hashValue` rt.returnInt64(Int64(result)) } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO -private func __nsThunk147(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk172(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsEnum20(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon.Style") } + guard let receiver = __nsEnum25(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon.Style") } let result: Int = receiver.`hashValue` rt.returnInt64(Int64(result)) } // s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO -private func __nsThunk148(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk173(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsReadCase4(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.ShapeError") } + guard let receiver = __nsReadCase9(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.ShapeError") } let result: String = receiver.`localizedDescription` rt.returnString(result) } @@ -1870,194 +2103,220 @@ private func __nsRegister(_ registrar: UnsafeMutableRawPointer) { let registerMember = api.load(fromByteOffset: 96, as: (@convention(c) (UnsafeMutableRawPointer, Int32, UInt32, UInt32, UnsafePointer, UnsafePointer, UnsafePointer, UnsafePointer, __NSThunk?, __NSThunk?) -> Void).self) let registerUnitModule = api.load(fromByteOffset: 336, as: (@convention(c) (UnsafeMutableRawPointer, UnsafePointer) -> Void).self) - registerModule(registrar, 8, "SwiftDemo", "bc2d30bbfc7c1ee7", __nsRelease) + registerModule(registrar, 8, "SwiftDemo", "429aac49e58cc89d", __nsRelease) registerUnitModule(registrar, "SwiftDemo") registerUnitModule(registrar, "SwiftDemoKit") - registerType(registrar, 0, 3, "SwiftDemoKit", "Coin", "SwiftDemoKit.Coin", -1) - registerType(registrar, 1, 2, "SwiftDemoKit", "Money", "SwiftDemoKit.Money", -1) - registerType(registrar, 2, 0, "SwiftDemoKit", "Wallet", "SwiftDemoKit.Wallet", -1) - registerType(registrar, 3, 0, "SwiftDemo", "Demo", "SwiftDemo.Demo", -1) - registerType(registrar, 4, 4, "SwiftDemo", "ShapeError", "SwiftDemo.ShapeError", -1) - registerType(registrar, 5, 4, "SwiftDemo", "Measurement", "SwiftDemo.Measurement", -1) - registerType(registrar, 6, 2, "SwiftDemo", "Measurement.Unit", "SwiftDemo.Measurement.Unit", -1) - registerType(registrar, 7, 3, "SwiftDemo", "Precipitation", "SwiftDemo.Precipitation", -1) - registerType(registrar, 8, 2, "SwiftDemo", "Job.Ticket", "SwiftDemo.Job.Ticket", -1) - registerType(registrar, 9, 2, "SwiftDemo", "Ring", "SwiftDemo.Ring", -1) - registerType(registrar, 10, 2, "SwiftDemo", "Point", "SwiftDemo.Point", -1) - registerType(registrar, 11, 0, "SwiftDemo", "Canvas", "SwiftDemo.Canvas", -1) - registerType(registrar, 12, 3, "SwiftDemo", "Flavor", "SwiftDemo.Flavor", -1) - registerType(registrar, 13, 0, "SwiftDemo", "Loader", "SwiftDemo.Loader", -1) - registerType(registrar, 14, 0, "SwiftDemo", "Square", "SwiftDemo.Square", 19) - registerType(registrar, 15, 1, "SwiftDemo", "Counter", "SwiftDemo.Counter", -1) - registerType(registrar, 16, 4, "SwiftDemo", "Formula", "SwiftDemo.Formula", -1) - registerType(registrar, 17, 0, "SwiftDemo", "Palette", "SwiftDemo.Palette", -1) - registerType(registrar, 18, 4, "SwiftDemo", "Payload", "SwiftDemo.Payload", -1) - registerType(registrar, 19, 0, "SwiftDemo", "Polygon", "SwiftDemo.Polygon", -1) - registerType(registrar, 20, 3, "SwiftDemo", "Polygon.Style", "SwiftDemo.Polygon.Style", -1) - registerType(registrar, 21, 2, "SwiftDemo", "Polygon.Metrics", "SwiftDemo.Polygon.Metrics", -1) - registerType(registrar, 22, 0, "SwiftDemo", "Tracker", "SwiftDemo.Tracker", -1) - registerType(registrar, 23, 0, "SwiftDemo", "Notifier", "SwiftDemo.Notifier", -1) - registerMember(registrar, 0, 7, 0, "SwiftDemoKit", "dime", "dime", ">e0", nil, nil) - registerMember(registrar, 0, 7, 0, "SwiftDemoKit", "penny", "penny", ">e0", nil, nil) - registerMember(registrar, 1, 3, 0, "SwiftDemoKit", "isZero", "isZero", ">b", __nsThunk0, nil) - registerMember(registrar, 1, 1, 0, "SwiftDemoKit", "doubled", "doubled()", ">o1", __nsThunk1, nil) - registerMember(registrar, 1, 1, 0, "SwiftDemoKit", "adding", "adding(_:)", "o1>o1", __nsThunk2, nil) - registerMember(registrar, 1, 0, 0, "SwiftDemoKit", "constructor", "init(amount:currency:)", "i64,s>o1", __nsThunk3, nil) - registerMember(registrar, 1, 3, 2, "SwiftDemoKit", "amount", "amount", ">i64", __nsThunk4, __nsThunk5) - registerMember(registrar, 1, 3, 2, "SwiftDemoKit", "currency", "currency", ">s", __nsThunk6, __nsThunk7) - registerMember(registrar, 2, 1, 0, "SwiftDemoKit", "summary", "summary()", ">s", __nsThunk8, nil) - registerMember(registrar, 2, 0, 0, "SwiftDemoKit", "constructor", "init(owner:)", "s>o2", __nsThunk9, nil) - registerMember(registrar, 2, 3, 0, "SwiftDemoKit", "owner", "owner", ">s", __nsThunk10, nil) - registerMember(registrar, 2, 3, 0, "SwiftDemoKit", "balance", "balance", ">o1", __nsThunk11, nil) - registerMember(registrar, 2, 1, 0, "SwiftDemoKit", "deposit", "deposit(_:)", "o1>v", __nsThunk12, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemoKit", "formatted", "formatted(_:)", "o1>s", __nsThunk13, nil) - registerMember(registrar, 3, 1, 0, "SwiftDemo", "greet", "greet(name:times:)", "s,i64>s", __nsThunk14, nil) - registerMember(registrar, 3, 1, 0, "SwiftDemo", "greet", "greet(name:)", "s>s", __nsThunk15, nil) - registerMember(registrar, 3, 4, 0, "SwiftDemo", "version", "version", ">s", __nsThunk16, nil) - registerMember(registrar, 3, 0, 0, "SwiftDemo", "constructor", "init()", ">o3", __nsThunk17, nil) - registerMember(registrar, 4, 7, 0, "SwiftDemo", "invalidSide", "invalidSide(_:)", "f64>t4", nil, nil) - registerMember(registrar, 4, 7, 0, "SwiftDemo", "tooManySides", "tooManySides(count:limit:)", "i64,i64>t4", nil, nil) - registerMember(registrar, 4, 7, 0, "SwiftDemo", "unknown", "unknown", ">t4", nil, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "allFlavors", "allFlavors()", ">[e12]", __nsThunk18, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "echoUInt64", "echoUInt64(_:)", "u64>u64", __nsThunk19, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "greetLater", "greetLater(_:completion:)", "s?,(s?)>v", __nsThunk20, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "largestInt", "largestInt()", ">i64", __nsThunk21, nil) - registerMember(registrar, -1, 5, 8, "SwiftDemo", "namesLater", "namesLater(_:)", "i64>[s]", __nsThunk22, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "wordCounts", "wordCounts(_:)", "[s]>{i64}", __nsThunk23, nil) - registerMember(registrar, 6, 0, 0, "SwiftDemo", "constructor", "init(symbol:)", "s>o6", __nsThunk24, nil) - registerMember(registrar, 6, 3, 2, "SwiftDemo", "symbol", "symbol", ">s", __nsThunk25, __nsThunk26) - registerMember(registrar, 5, 7, 0, "SwiftDemo", "area", "area(width:height:)", "f64,f64>t5", nil, nil) - registerMember(registrar, 5, 7, 0, "SwiftDemo", "none", "none", ">t5", nil, nil) - registerMember(registrar, 5, 3, 0, "SwiftDemo", "isNone", "isNone", ">b", __nsThunk27, nil) - registerMember(registrar, 5, 7, 0, "SwiftDemo", "length", "length(_:)", "f64>t5", nil, nil) - registerMember(registrar, -1, 5, 1, "SwiftDemo", "checkedSide", "checkedSide(_:)", "f64>f64", __nsThunk28, nil) - registerMember(registrar, -1, 5, 9, "SwiftDemo", "delayedEcho", "delayedEcho(_:after:)", "s,f64>s", __nsThunk29, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "firstSubview", "firstSubview(of:)", "@UIView>@UIView?", __nsThunk30, nil) - registerMember(registrar, -1, 5, 8, "SwiftDemo", "measureLater", "measureLater(_:)", "f64>t5", __nsThunk31, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "measurements", "measurements()", ">[t5]", __nsThunk32, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "swapTrackers", "swapTrackers(_:_:)", "&o22,&o22>v", __nsThunk33, nil) - registerMember(registrar, 7, 7, 0, "SwiftDemo", "none", "none", ">e7", nil, nil) - registerMember(registrar, 7, 7, 0, "SwiftDemo", "rain", "rain", ">e7", nil, nil) - registerMember(registrar, 7, 7, 0, "SwiftDemo", "snow", "snow", ">e7", nil, nil) - registerMember(registrar, 7, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "s>e7?", __nsThunk34, nil) - registerMember(registrar, -1, 6, 0, "SwiftDemo", "defaultFlavor", "defaultFlavor", ">e12", __nsThunk35, nil) - registerMember(registrar, -1, 6, 2, "SwiftDemo", "globalCounter", "globalCounter", ">i64", __nsThunk36, __nsThunk37) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "starterWallet", "starterWallet(for:)", "s>o2", __nsThunk38, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeDefaultPoint", "makeDefaultPoint()", ">o10", __nsThunk39, nil) - registerMember(registrar, -1, 5, 8, "SwiftDemo", "makeTrackerLater", "makeTrackerLater(id:)", "i64>o22", __nsThunk40, nil) - registerMember(registrar, 8, 0, 0, "SwiftDemo", "constructor", "init(id:)", "i64>o8", __nsThunk41, nil) - registerMember(registrar, 8, 3, 2, "SwiftDemo", "id", "id", ">i64", __nsThunk42, __nsThunk43) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "sum", "sum(of:)", "[o1]>o1", __nsThunk44, nil) - registerMember(registrar, 9, 0, 0, "SwiftDemo", "constructor", "init(inner:outer:)", "o10,o10>o9", __nsThunk45, nil) - registerMember(registrar, 9, 3, 2, "SwiftDemo", "inner", "inner", ">o10", __nsThunk46, __nsThunk47) - registerMember(registrar, 9, 3, 2, "SwiftDemo", "outer", "outer", ">o10", __nsThunk48, __nsThunk49) - registerMember(registrar, 9, 1, 0, "SwiftDemo", "expand", "expand(by:)", "f64>v", __nsThunk50, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "area", "area(of:)", "t5>f64", __nsThunk51, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "bump", "bump(_:)", "&i64>v", __nsThunk52, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "echo", "echo(_:)", "t18>t18", __nsThunk53, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "flip", "flip(_:)", "e0>e0", __nsThunk54, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "host", "host(of:)", "U>s?", __nsThunk55, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "ramp", "ramp(_:)", "i64>B", __nsThunk56, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "tags", "tags(_:)", "[@UIView]>[i64]", __nsThunk57, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "text", "text(of:)", "@SwiftDemo.Note>s", __nsThunk58, nil) - registerMember(registrar, 10, 3, 0, "SwiftDemo", "description", "description", ">s", __nsThunk59, nil) - registerMember(registrar, 10, 0, 0, "SwiftDemo", "constructor", "init(x:y:)", "f64,f64>o10", __nsThunk60, nil) - registerMember(registrar, 10, 3, 2, "SwiftDemo", "x", "x", ">f64", __nsThunk61, __nsThunk62) - registerMember(registrar, 10, 3, 2, "SwiftDemo", "y", "y", ">f64", __nsThunk63, __nsThunk64) - registerMember(registrar, 10, 3, 0, "SwiftDemo", "length", "length", ">f64", __nsThunk65, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "clear", "clear(_:)", "&s?>v", __nsThunk66, nil) - registerMember(registrar, -1, 5, 1, "SwiftDemo", "halve", "halve(_:)", "&i64>v", __nsThunk67, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "names", "names(_:)", "i64>[s]", __nsThunk68, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "shout", "shout(_:)", "s?>s?", __nsThunk69, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "total", "total(_:)", "[f64]>f64", __nsThunk70, nil) - registerMember(registrar, 11, 0, 16, "SwiftDemo", "constructor", "init()", ">o11", __nsThunk71, nil) - registerMember(registrar, 12, 3, 0, "SwiftDemo", "description", "description", ">s", __nsThunk72, nil) - registerMember(registrar, 12, 7, 0, "SwiftDemo", "vanilla", "vanilla", ">e12", nil, nil) - registerMember(registrar, 12, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "i64>e12?", __nsThunk73, nil) - registerMember(registrar, 12, 7, 0, "SwiftDemo", "chocolate", "chocolate", ">e12", nil, nil) - registerMember(registrar, 13, 1, 0, "SwiftDemo", "modernOnly", "modernOnly()", ">v", __nsThunk74, nil) - registerMember(registrar, 13, 1, 0, "SwiftDemo", "legacyFetch", "legacyFetch()", ">v", __nsThunk75, nil) - registerMember(registrar, 13, 1, 0, "SwiftDemo", "each", "each(_:)", "(i64)>v", __nsThunk76, nil) - registerMember(registrar, 13, 1, 1, "SwiftDemo", "load", "load(path:)", "s>B", __nsThunk77, nil) - registerMember(registrar, 13, 1, 8, "SwiftDemo", "wait", "wait(seconds:)", "f64>v", __nsThunk78, nil) - registerMember(registrar, 13, 1, 9, "SwiftDemo", "fetch", "fetch(url:)", "U>s", __nsThunk79, nil) - registerMember(registrar, 13, 1, 0, "SwiftDemo", "lookup", "lookup(table:key:)", "{i64},s>i64?", __nsThunk80, nil) - registerMember(registrar, 13, 1, 0, "SwiftDemo", "update", "update(_:)", "&o10>v", __nsThunk81, nil) - registerMember(registrar, 13, 1, 0, "SwiftDemo", "oldFetch", "oldFetch()", ">v", __nsThunk82, nil) - registerMember(registrar, 13, 0, 0, "SwiftDemo", "constructor", "init()", ">o13", __nsThunk83, nil) - registerMember(registrar, 14, 3, 0, "SwiftDemo", "area", "area", ">f64", __nsThunk84, nil) - registerMember(registrar, 14, 0, 0, "SwiftDemo", "constructor", "init(side:)", "f64>o14", __nsThunk85, nil) - registerMember(registrar, 14, 3, 2, "SwiftDemo", "side", "side", ">f64", __nsThunk86, __nsThunk87) - registerMember(registrar, 14, 1, 0, "SwiftDemo", "greet", "greet(name:)", "s>s", __nsThunk88, nil) - registerMember(registrar, 14, 1, 0, "SwiftDemo", "scale", "scale(by:)", "f64>v", __nsThunk89, nil) - registerMember(registrar, 14, 4, 0, "SwiftDemo", "sides", "sides", ">i64", __nsThunk90, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "append", "append(_:to:)", "s,&[s]>v", __nsThunk91, nil) - registerMember(registrar, 15, 3, 8, "SwiftDemo", "step", "step", ">i64", __nsThunk92, nil) - registerMember(registrar, 15, 1, 0, "SwiftDemo", "label", "label()", ">s", __nsThunk93, nil) - registerMember(registrar, 15, 3, 8, "SwiftDemo", "value", "value", ">i64", __nsThunk94, nil) - registerMember(registrar, 15, 1, 8, "SwiftDemo", "increment", "increment()", ">i64", __nsThunk95, nil) - registerMember(registrar, 15, 0, 0, "SwiftDemo", "constructor", "init()", ">o15", __nsThunk96, nil) - registerMember(registrar, 16, 7, 0, "SwiftDemo", "sum", "sum(_:_:)", "t16,t16>t16", nil, nil) - registerMember(registrar, 16, 3, 0, "SwiftDemo", "value", "value", ">f64", __nsThunk97, nil) - registerMember(registrar, 16, 7, 0, "SwiftDemo", "negate", "negate(_:)", "t16>t16", nil, nil) - registerMember(registrar, 16, 7, 0, "SwiftDemo", "number", "number(_:)", "f64>t16", nil, nil) - registerMember(registrar, 17, 1, 8, "SwiftDemo", "strokeLater", "strokeLater()", ">i64", __nsThunk98, nil) - registerMember(registrar, 17, 1, 16, "SwiftDemo", "stroke", "stroke()", ">i64", __nsThunk99, nil) - registerMember(registrar, 17, 3, 16, "SwiftDemo", "strokes", "strokes", ">i64", __nsThunk100, nil) - registerMember(registrar, 17, 0, 16, "SwiftDemo", "constructor", "init()", ">o17", __nsThunk101, nil) - registerMember(registrar, 18, 7, 0, "SwiftDemo", "maybe", "maybe(_:)", "i64?>t18", nil, nil) - registerMember(registrar, 18, 7, 0, "SwiftDemo", "names", "names(_:)", "[s]>t18", nil, nil) - registerMember(registrar, 18, 7, 0, "SwiftDemo", "point", "point(_:)", "o10>t18", nil, nil) - registerMember(registrar, 18, 7, 0, "SwiftDemo", "flavor", "flavor(_:)", "e12>t18", nil, nil) - registerMember(registrar, 18, 7, 0, "SwiftDemo", "tracker", "tracker(_:)", "o22>t18", nil, nil) - registerMember(registrar, 19, 3, 0, "SwiftDemo", "vertexCount", "vertexCount", ">i64", __nsThunk102, nil) - registerMember(registrar, 19, 2, 0, "SwiftDemo", "make", "make()", ">o19", __nsThunk103, nil) - registerMember(registrar, 19, 0, 0, "SwiftDemo", "constructor", "init(name:vertexCount:)", "s,i64>o19", __nsThunk104, nil) - registerMember(registrar, 19, 0, 0, "SwiftDemo", "constructor", "init(name:)", "s>o19?", __nsThunk105, nil) - registerMember(registrar, 19, 3, 0, "SwiftDemo", "name", "name", ">s", __nsThunk106, nil) - registerMember(registrar, 20, 7, 0, "SwiftDemo", "solid", "solid", ">e20", nil, nil) - registerMember(registrar, 20, 7, 0, "SwiftDemo", "dashed", "dashed", ">e20", nil, nil) - registerMember(registrar, 20, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "s>e20?", __nsThunk107, nil) - registerMember(registrar, 19, 1, 0, "SwiftDemo", "scale", "scale(x:y:)", "f64,f64>v", __nsThunk108, nil) - registerMember(registrar, 19, 1, 4, "SwiftDemo", "scale", "scale(by:)", "f64>v", __nsThunk109, nil) - registerMember(registrar, 19, 1, 4, "SwiftDemo", "scale", "scale(by:)", "i64>v", __nsThunk110, nil) - registerMember(registrar, 19, 3, 0, "SwiftDemo", "style", "style", ">e20", __nsThunk111, nil) - registerMember(registrar, 19, 4, 0, "SwiftDemo", "shared", "shared", ">o19", __nsThunk112, nil) - registerMember(registrar, 21, 0, 0, "SwiftDemo", "constructor", "init(perimeter:)", "f64>o21", __nsThunk113, nil) - registerMember(registrar, 21, 3, 2, "SwiftDemo", "perimeter", "perimeter", ">f64", __nsThunk114, __nsThunk115) - registerMember(registrar, 19, 1, 0, "SwiftDemo", "metrics", "metrics(side:)", "f64>o21", __nsThunk116, nil) - registerMember(registrar, 19, 2, 0, "SwiftDemo", "describe", "describe(_:)", "o19?>s", __nsThunk117, nil) - registerMember(registrar, 22, 0, 0, "SwiftDemo", "constructor", "init(id:)", "i64>o22", __nsThunk118, nil) - registerMember(registrar, 22, 3, 0, "SwiftDemo", "id", "id", ">i64", __nsThunk119, nil) - registerMember(registrar, 22, 1, 0, "SwiftDemo", "same", "same()", ">o22", __nsThunk120, nil) - registerMember(registrar, 22, 4, 0, "SwiftDemo", "liveCount", "liveCount", ">i64", __nsThunk121, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "explain", "explain(_:)", "t4>s", __nsThunk122, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "lengths", "lengths(_:)", "{s}>{i64}", __nsThunk123, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "measure", "measure(_:by:)", "f64,f64?>t5", __nsThunk124, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "nextDay", "nextDay(after:)", "D>D", __nsThunk125, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "resolve", "resolve(_:against:)", "s,U>U", __nsThunk126, nil) - registerMember(registrar, 23, 1, 0, "SwiftDemo", "publishLater", "publishLater(_:)", "s>v", __nsThunk127, nil) - registerMember(registrar, 23, 1, 0, "SwiftDemo", "clear", "clear()", ">v", __nsThunk128, nil) - registerMember(registrar, 23, 3, 0, "SwiftDemo", "count", "count", ">i64", __nsThunk129, nil) - registerMember(registrar, 23, 1, 0, "SwiftDemo", "publish", "publish(_:)", "s>v", __nsThunk130, nil) - registerMember(registrar, 23, 1, 0, "SwiftDemo", "subscribe", "subscribe(_:)", "(s)>v", __nsThunk131, nil) - registerMember(registrar, 23, 0, 0, "SwiftDemo", "constructor", "init()", ">o23", __nsThunk132, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "centroid", "centroid(of:)", "[o10]>o10", __nsThunk133, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "checksum", "checksum(_:)", "B>i64", __nsThunk134, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "describe", "describe(_:)", "@UIView>s", __nsThunk135, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "echoInt8", "echoInt8(_:)", "i8>i8", __nsThunk136, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeNote", "makeNote(_:)", "s>@SwiftDemo.Note", __nsThunk137, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "mirrored", "mirrored(_:)", "[[i64]]>[[i64]]", __nsThunk138, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "simplify", "simplify(_:)", "t16>t16", __nsThunk139, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "trackers", "trackers(_:)", "[i64]>[o22]", __nsThunk140, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "countdown", "countdown(from:_:)", "i64,(i64,b)>v", __nsThunk141, nil) - registerMember(registrar, -1, 5, 16, "SwiftDemo", "makeLabel", "makeLabel(_:)", "s>@UILabel", __nsThunk142, nil) - registerMember(registrar, -1, 5, 8, "SwiftDemo", "noteLater", "noteLater(_:)", "s>@SwiftDemo.Note", __nsThunk143, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "onMeasure", "onMeasure(_:)", "(t5)>v", __nsThunk144, nil) - registerMember(registrar, 7, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk145, nil) - registerMember(registrar, 12, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk146, nil) - registerMember(registrar, 20, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk147, nil) - registerMember(registrar, 4, 3, 0, "SwiftDemo", "localizedDescription", "localizedDescription", ">s", __nsThunk148, nil) + registerType(registrar, 0, 0, "SwiftDemoKit", "Box", "SwiftDemoKit.Box", -1) + registerType(registrar, 1, 0, "SwiftDemoKit", "Box", "SwiftDemoKit.Box", -1) + registerType(registrar, 2, 3, "SwiftDemoKit", "Coin", "SwiftDemoKit.Coin", -1) + registerType(registrar, 3, 2, "SwiftDemoKit", "Pair", "SwiftDemoKit.Pair", -1) + registerType(registrar, 4, 2, "SwiftDemoKit", "Pair", "SwiftDemoKit.Pair", -1) + registerType(registrar, 5, 2, "SwiftDemoKit", "Money", "SwiftDemoKit.Money", -1) + registerType(registrar, 6, 0, "SwiftDemoKit", "Wallet", "SwiftDemoKit.Wallet", -1) + registerType(registrar, 7, 4, "SwiftDemoKit", "Outcome", "SwiftDemoKit.Outcome", -1) + registerType(registrar, 8, 0, "SwiftDemo", "Demo", "SwiftDemo.Demo", -1) + registerType(registrar, 9, 4, "SwiftDemo", "ShapeError", "SwiftDemo.ShapeError", -1) + registerType(registrar, 10, 4, "SwiftDemo", "Measurement", "SwiftDemo.Measurement", -1) + registerType(registrar, 11, 2, "SwiftDemo", "Measurement.Unit", "SwiftDemo.Measurement.Unit", -1) + registerType(registrar, 12, 3, "SwiftDemo", "Precipitation", "SwiftDemo.Precipitation", -1) + registerType(registrar, 13, 2, "SwiftDemo", "Job.Ticket", "SwiftDemo.Job.Ticket", -1) + registerType(registrar, 14, 2, "SwiftDemo", "Ring", "SwiftDemo.Ring", -1) + registerType(registrar, 15, 2, "SwiftDemo", "Point", "SwiftDemo.Point", -1) + registerType(registrar, 16, 0, "SwiftDemo", "Canvas", "SwiftDemo.Canvas", -1) + registerType(registrar, 17, 3, "SwiftDemo", "Flavor", "SwiftDemo.Flavor", -1) + registerType(registrar, 18, 0, "SwiftDemo", "Loader", "SwiftDemo.Loader", -1) + registerType(registrar, 19, 0, "SwiftDemo", "Square", "SwiftDemo.Square", 24) + registerType(registrar, 20, 1, "SwiftDemo", "Counter", "SwiftDemo.Counter", -1) + registerType(registrar, 21, 4, "SwiftDemo", "Formula", "SwiftDemo.Formula", -1) + registerType(registrar, 22, 0, "SwiftDemo", "Palette", "SwiftDemo.Palette", -1) + registerType(registrar, 23, 4, "SwiftDemo", "Payload", "SwiftDemo.Payload", -1) + registerType(registrar, 24, 0, "SwiftDemo", "Polygon", "SwiftDemo.Polygon", -1) + registerType(registrar, 25, 3, "SwiftDemo", "Polygon.Style", "SwiftDemo.Polygon.Style", -1) + registerType(registrar, 26, 2, "SwiftDemo", "Polygon.Metrics", "SwiftDemo.Polygon.Metrics", -1) + registerType(registrar, 27, 0, "SwiftDemo", "Tracker", "SwiftDemo.Tracker", -1) + registerType(registrar, 28, 0, "SwiftDemo", "Notifier", "SwiftDemo.Notifier", -1) + registerMember(registrar, 0, 3, 2, "SwiftDemoKit", "value", "value", ">o5", __nsThunk0, __nsThunk1) + registerMember(registrar, 1, 3, 2, "SwiftDemoKit", "value", "value", ">i64", __nsThunk2, __nsThunk3) + registerMember(registrar, 0, 1, 0, "SwiftDemoKit", "replaced", "replaced(with:)", "o5>o0", __nsThunk4, nil) + registerMember(registrar, 1, 1, 0, "SwiftDemoKit", "replaced", "replaced(with:)", "i64>o1", __nsThunk5, nil) + registerMember(registrar, 0, 0, 0, "SwiftDemoKit", "constructor", "init(_:)", "o5>o0", __nsThunk6, nil) + registerMember(registrar, 1, 0, 0, "SwiftDemoKit", "constructor", "init(_:)", "i64>o1", __nsThunk7, nil) + registerMember(registrar, 2, 7, 0, "SwiftDemoKit", "dime", "dime", ">e2", nil, nil) + registerMember(registrar, 2, 7, 0, "SwiftDemoKit", "penny", "penny", ">e2", nil, nil) + registerMember(registrar, 3, 0, 0, "SwiftDemoKit", "constructor", "init(first:second:)", "s,i64>o3", __nsThunk8, nil) + registerMember(registrar, 4, 0, 0, "SwiftDemoKit", "constructor", "init(first:second:)", "i64,s>o4", __nsThunk9, nil) + registerMember(registrar, 3, 3, 2, "SwiftDemoKit", "first", "first", ">s", __nsThunk10, __nsThunk11) + registerMember(registrar, 4, 3, 2, "SwiftDemoKit", "first", "first", ">i64", __nsThunk12, __nsThunk13) + registerMember(registrar, 3, 3, 2, "SwiftDemoKit", "second", "second", ">i64", __nsThunk14, __nsThunk15) + registerMember(registrar, 4, 3, 2, "SwiftDemoKit", "second", "second", ">s", __nsThunk16, __nsThunk17) + registerMember(registrar, 3, 1, 0, "SwiftDemoKit", "swapped", "swapped()", ">o4", __nsThunk18, nil) + registerMember(registrar, 4, 1, 0, "SwiftDemoKit", "swapped", "swapped()", ">o3", __nsThunk19, nil) + registerMember(registrar, 5, 3, 0, "SwiftDemoKit", "isZero", "isZero", ">b", __nsThunk20, nil) + registerMember(registrar, 5, 1, 0, "SwiftDemoKit", "doubled", "doubled()", ">o5", __nsThunk21, nil) + registerMember(registrar, 5, 1, 0, "SwiftDemoKit", "adding", "adding(_:)", "o5>o5", __nsThunk22, nil) + registerMember(registrar, 5, 0, 0, "SwiftDemoKit", "constructor", "init(amount:currency:)", "i64,s>o5", __nsThunk23, nil) + registerMember(registrar, 5, 3, 2, "SwiftDemoKit", "amount", "amount", ">i64", __nsThunk24, __nsThunk25) + registerMember(registrar, 5, 3, 2, "SwiftDemoKit", "currency", "currency", ">s", __nsThunk26, __nsThunk27) + registerMember(registrar, 6, 1, 0, "SwiftDemoKit", "summary", "summary()", ">s", __nsThunk28, nil) + registerMember(registrar, 6, 0, 0, "SwiftDemoKit", "constructor", "init(owner:)", "s>o6", __nsThunk29, nil) + registerMember(registrar, 6, 3, 0, "SwiftDemoKit", "owner", "owner", ">s", __nsThunk30, nil) + registerMember(registrar, 6, 3, 0, "SwiftDemoKit", "balance", "balance", ">o5", __nsThunk31, nil) + registerMember(registrar, 6, 1, 0, "SwiftDemoKit", "deposit", "deposit(_:)", "o5>v", __nsThunk32, nil) + registerMember(registrar, 7, 7, 0, "SwiftDemoKit", "done", "done(_:)", "i64>t7", nil, nil) + registerMember(registrar, 7, 7, 0, "SwiftDemoKit", "failed", "failed(reason:)", "s>t7", nil, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemoKit", "formatted", "formatted(_:)", "o5>s", __nsThunk33, nil) + registerMember(registrar, 8, 1, 0, "SwiftDemo", "greet", "greet(name:times:)", "s,i64>s", __nsThunk34, nil) + registerMember(registrar, 8, 1, 0, "SwiftDemo", "greet", "greet(name:)", "s>s", __nsThunk35, nil) + registerMember(registrar, 8, 4, 0, "SwiftDemo", "version", "version", ">s", __nsThunk36, nil) + registerMember(registrar, 8, 0, 0, "SwiftDemo", "constructor", "init()", ">o8", __nsThunk37, nil) + registerMember(registrar, 9, 7, 0, "SwiftDemo", "invalidSide", "invalidSide(_:)", "f64>t9", nil, nil) + registerMember(registrar, 9, 7, 0, "SwiftDemo", "tooManySides", "tooManySides(count:limit:)", "i64,i64>t9", nil, nil) + registerMember(registrar, 9, 7, 0, "SwiftDemo", "unknown", "unknown", ">t9", nil, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "allFlavors", "allFlavors()", ">[e17]", __nsThunk38, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "echoUInt64", "echoUInt64(_:)", "u64>u64", __nsThunk39, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "greetLater", "greetLater(_:completion:)", "s?,(s?)>v", __nsThunk40, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "largestInt", "largestInt()", ">i64", __nsThunk41, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "namesLater", "namesLater(_:)", "i64>[s]", __nsThunk42, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "wordCounts", "wordCounts(_:)", "[s]>{i64}", __nsThunk43, nil) + registerMember(registrar, 11, 0, 0, "SwiftDemo", "constructor", "init(symbol:)", "s>o11", __nsThunk44, nil) + registerMember(registrar, 11, 3, 2, "SwiftDemo", "symbol", "symbol", ">s", __nsThunk45, __nsThunk46) + registerMember(registrar, 10, 7, 0, "SwiftDemo", "area", "area(width:height:)", "f64,f64>t10", nil, nil) + registerMember(registrar, 10, 7, 0, "SwiftDemo", "none", "none", ">t10", nil, nil) + registerMember(registrar, 10, 3, 0, "SwiftDemo", "isNone", "isNone", ">b", __nsThunk47, nil) + registerMember(registrar, 10, 7, 0, "SwiftDemo", "length", "length(_:)", "f64>t10", nil, nil) + registerMember(registrar, -1, 5, 1, "SwiftDemo", "checkedSide", "checkedSide(_:)", "f64>f64", __nsThunk48, nil) + registerMember(registrar, -1, 5, 9, "SwiftDemo", "delayedEcho", "delayedEcho(_:after:)", "s,f64>s", __nsThunk49, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "firstSubview", "firstSubview(of:)", "@UIView>@UIView?", __nsThunk50, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "measureLater", "measureLater(_:)", "f64>t10", __nsThunk51, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "measurements", "measurements()", ">[t10]", __nsThunk52, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "swapTrackers", "swapTrackers(_:_:)", "&o27,&o27>v", __nsThunk53, nil) + registerMember(registrar, 12, 7, 0, "SwiftDemo", "none", "none", ">e12", nil, nil) + registerMember(registrar, 12, 7, 0, "SwiftDemo", "rain", "rain", ">e12", nil, nil) + registerMember(registrar, 12, 7, 0, "SwiftDemo", "snow", "snow", ">e12", nil, nil) + registerMember(registrar, 12, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "s>e12?", __nsThunk54, nil) + registerMember(registrar, -1, 6, 0, "SwiftDemo", "defaultFlavor", "defaultFlavor", ">e17", __nsThunk55, nil) + registerMember(registrar, -1, 6, 2, "SwiftDemo", "globalCounter", "globalCounter", ">i64", __nsThunk56, __nsThunk57) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "starterWallet", "starterWallet(for:)", "s>o6", __nsThunk58, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeDefaultPoint", "makeDefaultPoint()", ">o15", __nsThunk59, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "makeTrackerLater", "makeTrackerLater(id:)", "i64>o27", __nsThunk60, nil) + registerMember(registrar, 13, 0, 0, "SwiftDemo", "constructor", "init(id:)", "i64>o13", __nsThunk61, nil) + registerMember(registrar, 13, 3, 2, "SwiftDemo", "id", "id", ">i64", __nsThunk62, __nsThunk63) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "sum", "sum(of:)", "[o5]>o5", __nsThunk64, nil) + registerMember(registrar, 14, 0, 0, "SwiftDemo", "constructor", "init(inner:outer:)", "o15,o15>o14", __nsThunk65, nil) + registerMember(registrar, 14, 3, 2, "SwiftDemo", "inner", "inner", ">o15", __nsThunk66, __nsThunk67) + registerMember(registrar, 14, 3, 2, "SwiftDemo", "outer", "outer", ">o15", __nsThunk68, __nsThunk69) + registerMember(registrar, 14, 1, 0, "SwiftDemo", "expand", "expand(by:)", "f64>v", __nsThunk70, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "area", "area(of:)", "t10>f64", __nsThunk71, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "bump", "bump(_:)", "&i64>v", __nsThunk72, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "echo", "echo(_:)", "t23>t23", __nsThunk73, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "flip", "flip(_:)", "e2>e2", __nsThunk74, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "host", "host(of:)", "U>s?", __nsThunk75, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "ramp", "ramp(_:)", "i64>B", __nsThunk76, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "tags", "tags(_:)", "[@UIView]>[i64]", __nsThunk77, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "text", "text(of:)", "@SwiftDemo.Note>s", __nsThunk78, nil) + registerMember(registrar, 15, 3, 0, "SwiftDemo", "description", "description", ">s", __nsThunk79, nil) + registerMember(registrar, 15, 0, 0, "SwiftDemo", "constructor", "init(x:y:)", "f64,f64>o15", __nsThunk80, nil) + registerMember(registrar, 15, 3, 2, "SwiftDemo", "x", "x", ">f64", __nsThunk81, __nsThunk82) + registerMember(registrar, 15, 3, 2, "SwiftDemo", "y", "y", ">f64", __nsThunk83, __nsThunk84) + registerMember(registrar, 15, 3, 0, "SwiftDemo", "length", "length", ">f64", __nsThunk85, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "boxed", "boxed(_:)", "o5>o0", __nsThunk86, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "clear", "clear(_:)", "&s?>v", __nsThunk87, nil) + registerMember(registrar, -1, 5, 1, "SwiftDemo", "halve", "halve(_:)", "&i64>v", __nsThunk88, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "names", "names(_:)", "i64>[s]", __nsThunk89, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "shout", "shout(_:)", "s?>s?", __nsThunk90, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "total", "total(_:)", "[f64]>f64", __nsThunk91, nil) + registerMember(registrar, 16, 0, 16, "SwiftDemo", "constructor", "init()", ">o16", __nsThunk92, nil) + registerMember(registrar, 17, 3, 0, "SwiftDemo", "description", "description", ">s", __nsThunk93, nil) + registerMember(registrar, 17, 7, 0, "SwiftDemo", "vanilla", "vanilla", ">e17", nil, nil) + registerMember(registrar, 17, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "i64>e17?", __nsThunk94, nil) + registerMember(registrar, 17, 7, 0, "SwiftDemo", "chocolate", "chocolate", ">e17", nil, nil) + registerMember(registrar, 18, 1, 0, "SwiftDemo", "modernOnly", "modernOnly()", ">v", __nsThunk95, nil) + registerMember(registrar, 18, 1, 0, "SwiftDemo", "legacyFetch", "legacyFetch()", ">v", __nsThunk96, nil) + registerMember(registrar, 18, 1, 0, "SwiftDemo", "each", "each(_:)", "(i64)>v", __nsThunk97, nil) + registerMember(registrar, 18, 1, 1, "SwiftDemo", "load", "load(path:)", "s>B", __nsThunk98, nil) + registerMember(registrar, 18, 1, 8, "SwiftDemo", "wait", "wait(seconds:)", "f64>v", __nsThunk99, nil) + registerMember(registrar, 18, 1, 9, "SwiftDemo", "fetch", "fetch(url:)", "U>s", __nsThunk100, nil) + registerMember(registrar, 18, 1, 0, "SwiftDemo", "lookup", "lookup(table:key:)", "{i64},s>i64?", __nsThunk101, nil) + registerMember(registrar, 18, 1, 0, "SwiftDemo", "update", "update(_:)", "&o15>v", __nsThunk102, nil) + registerMember(registrar, 18, 1, 0, "SwiftDemo", "oldFetch", "oldFetch()", ">v", __nsThunk103, nil) + registerMember(registrar, 18, 0, 0, "SwiftDemo", "constructor", "init()", ">o18", __nsThunk104, nil) + registerMember(registrar, 19, 3, 0, "SwiftDemo", "area", "area", ">f64", __nsThunk105, nil) + registerMember(registrar, 19, 0, 0, "SwiftDemo", "constructor", "init(side:)", "f64>o19", __nsThunk106, nil) + registerMember(registrar, 19, 3, 2, "SwiftDemo", "side", "side", ">f64", __nsThunk107, __nsThunk108) + registerMember(registrar, 19, 1, 0, "SwiftDemo", "greet", "greet(name:)", "s>s", __nsThunk109, nil) + registerMember(registrar, 19, 1, 0, "SwiftDemo", "scale", "scale(by:)", "f64>v", __nsThunk110, nil) + registerMember(registrar, 19, 4, 0, "SwiftDemo", "sides", "sides", ">i64", __nsThunk111, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "append", "append(_:to:)", "s,&[s]>v", __nsThunk112, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "settle", "settle(_:)", "i64>t7", __nsThunk113, nil) + registerMember(registrar, 20, 3, 8, "SwiftDemo", "step", "step", ">i64", __nsThunk114, nil) + registerMember(registrar, 20, 1, 0, "SwiftDemo", "label", "label()", ">s", __nsThunk115, nil) + registerMember(registrar, 20, 3, 8, "SwiftDemo", "value", "value", ">i64", __nsThunk116, nil) + registerMember(registrar, 20, 1, 8, "SwiftDemo", "increment", "increment()", ">i64", __nsThunk117, nil) + registerMember(registrar, 20, 0, 0, "SwiftDemo", "constructor", "init()", ">o20", __nsThunk118, nil) + registerMember(registrar, 21, 7, 0, "SwiftDemo", "sum", "sum(_:_:)", "t21,t21>t21", nil, nil) + registerMember(registrar, 21, 3, 0, "SwiftDemo", "value", "value", ">f64", __nsThunk119, nil) + registerMember(registrar, 21, 7, 0, "SwiftDemo", "negate", "negate(_:)", "t21>t21", nil, nil) + registerMember(registrar, 21, 7, 0, "SwiftDemo", "number", "number(_:)", "f64>t21", nil, nil) + registerMember(registrar, 22, 1, 8, "SwiftDemo", "strokeLater", "strokeLater()", ">i64", __nsThunk120, nil) + registerMember(registrar, 22, 1, 16, "SwiftDemo", "stroke", "stroke()", ">i64", __nsThunk121, nil) + registerMember(registrar, 22, 3, 16, "SwiftDemo", "strokes", "strokes", ">i64", __nsThunk122, nil) + registerMember(registrar, 22, 0, 16, "SwiftDemo", "constructor", "init()", ">o22", __nsThunk123, nil) + registerMember(registrar, 23, 7, 0, "SwiftDemo", "maybe", "maybe(_:)", "i64?>t23", nil, nil) + registerMember(registrar, 23, 7, 0, "SwiftDemo", "names", "names(_:)", "[s]>t23", nil, nil) + registerMember(registrar, 23, 7, 0, "SwiftDemo", "point", "point(_:)", "o15>t23", nil, nil) + registerMember(registrar, 23, 7, 0, "SwiftDemo", "flavor", "flavor(_:)", "e17>t23", nil, nil) + registerMember(registrar, 23, 7, 0, "SwiftDemo", "tracker", "tracker(_:)", "o27>t23", nil, nil) + registerMember(registrar, 24, 3, 0, "SwiftDemo", "vertexCount", "vertexCount", ">i64", __nsThunk124, nil) + registerMember(registrar, 24, 2, 0, "SwiftDemo", "make", "make()", ">o24", __nsThunk125, nil) + registerMember(registrar, 24, 0, 0, "SwiftDemo", "constructor", "init(name:vertexCount:)", "s,i64>o24", __nsThunk126, nil) + registerMember(registrar, 24, 0, 0, "SwiftDemo", "constructor", "init(name:)", "s>o24?", __nsThunk127, nil) + registerMember(registrar, 24, 3, 0, "SwiftDemo", "name", "name", ">s", __nsThunk128, nil) + registerMember(registrar, 25, 7, 0, "SwiftDemo", "solid", "solid", ">e25", nil, nil) + registerMember(registrar, 25, 7, 0, "SwiftDemo", "dashed", "dashed", ">e25", nil, nil) + registerMember(registrar, 25, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "s>e25?", __nsThunk129, nil) + registerMember(registrar, 24, 1, 0, "SwiftDemo", "scale", "scale(x:y:)", "f64,f64>v", __nsThunk130, nil) + registerMember(registrar, 24, 1, 4, "SwiftDemo", "scale", "scale(by:)", "f64>v", __nsThunk131, nil) + registerMember(registrar, 24, 1, 4, "SwiftDemo", "scale", "scale(by:)", "i64>v", __nsThunk132, nil) + registerMember(registrar, 24, 3, 0, "SwiftDemo", "style", "style", ">e25", __nsThunk133, nil) + registerMember(registrar, 24, 4, 0, "SwiftDemo", "shared", "shared", ">o24", __nsThunk134, nil) + registerMember(registrar, 26, 0, 0, "SwiftDemo", "constructor", "init(perimeter:)", "f64>o26", __nsThunk135, nil) + registerMember(registrar, 26, 3, 2, "SwiftDemo", "perimeter", "perimeter", ">f64", __nsThunk136, __nsThunk137) + registerMember(registrar, 24, 1, 0, "SwiftDemo", "metrics", "metrics(side:)", "f64>o26", __nsThunk138, nil) + registerMember(registrar, 24, 2, 0, "SwiftDemo", "describe", "describe(_:)", "o24?>s", __nsThunk139, nil) + registerMember(registrar, 27, 0, 0, "SwiftDemo", "constructor", "init(id:)", "i64>o27", __nsThunk140, nil) + registerMember(registrar, 27, 3, 0, "SwiftDemo", "id", "id", ">i64", __nsThunk141, nil) + registerMember(registrar, 27, 1, 0, "SwiftDemo", "same", "same()", ">o27", __nsThunk142, nil) + registerMember(registrar, 27, 4, 0, "SwiftDemo", "liveCount", "liveCount", ">i64", __nsThunk143, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "explain", "explain(_:)", "t9>s", __nsThunk144, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "lengths", "lengths(_:)", "{s}>{i64}", __nsThunk145, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "measure", "measure(_:by:)", "f64,f64?>t10", __nsThunk146, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "nextDay", "nextDay(after:)", "D>D", __nsThunk147, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "resolve", "resolve(_:against:)", "s,U>U", __nsThunk148, nil) + registerMember(registrar, 28, 1, 0, "SwiftDemo", "publishLater", "publishLater(_:)", "s>v", __nsThunk149, nil) + registerMember(registrar, 28, 1, 0, "SwiftDemo", "clear", "clear()", ">v", __nsThunk150, nil) + registerMember(registrar, 28, 3, 0, "SwiftDemo", "count", "count", ">i64", __nsThunk151, nil) + registerMember(registrar, 28, 1, 0, "SwiftDemo", "publish", "publish(_:)", "s>v", __nsThunk152, nil) + registerMember(registrar, 28, 1, 0, "SwiftDemo", "subscribe", "subscribe(_:)", "(s)>v", __nsThunk153, nil) + registerMember(registrar, 28, 0, 0, "SwiftDemo", "constructor", "init()", ">o28", __nsThunk154, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "centroid", "centroid(of:)", "[o15]>o15", __nsThunk155, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "checksum", "checksum(_:)", "B>i64", __nsThunk156, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "countBox", "countBox(_:)", "i64>o1", __nsThunk157, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "describe", "describe(_:)", "o4>s", __nsThunk158, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "describe", "describe(_:)", "@UIView>s", __nsThunk159, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "echoInt8", "echoInt8(_:)", "i8>i8", __nsThunk160, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeNote", "makeNote(_:)", "s>@SwiftDemo.Note", __nsThunk161, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "mirrored", "mirrored(_:)", "[[i64]]>[[i64]]", __nsThunk162, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "simplify", "simplify(_:)", "t21>t21", __nsThunk163, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "trackers", "trackers(_:)", "[i64]>[o27]", __nsThunk164, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "countdown", "countdown(from:_:)", "i64,(i64,b)>v", __nsThunk165, nil) + registerMember(registrar, -1, 5, 16, "SwiftDemo", "makeLabel", "makeLabel(_:)", "s>@UILabel", __nsThunk166, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeScore", "makeScore(_:_:)", "s,i64>o3", __nsThunk167, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "noteLater", "noteLater(_:)", "s>@SwiftDemo.Note", __nsThunk168, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "onMeasure", "onMeasure(_:)", "(t10)>v", __nsThunk169, nil) + registerMember(registrar, 12, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk170, nil) + registerMember(registrar, 17, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk171, nil) + registerMember(registrar, 25, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk172, nil) + registerMember(registrar, 9, 3, 0, "SwiftDemo", "localizedDescription", "localizedDescription", ">s", __nsThunk173, nil) } #if hasAttribute(c) diff --git a/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Purse.swift b/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Purse.swift index ad0d8bb6..d7123fde 100644 --- a/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Purse.swift +++ b/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Purse.swift @@ -22,3 +22,11 @@ extension Money { extension Wallet { public func summary() -> String { "\(owner): \(formatted(balance))" } } + +public typealias Score = Pair + +public func makeScore(_ name: String, _ points: Int) -> Score { Score(first: name, second: points) } +public func describe(_ pair: Pair) -> String { "\(pair.first):\(pair.second)" } +public func boxed(_ money: Money) -> Box { Box(money) } +public func countBox(_ value: Int) -> Box { Box(value) } +public func settle(_ value: Int) -> Outcome { value >= 0 ? .done(value) : .failed(reason: "negative") } diff --git a/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemoKit/Money.swift b/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemoKit/Money.swift index e9717443..4a3eeb06 100644 --- a/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemoKit/Money.swift +++ b/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemoKit/Money.swift @@ -32,3 +32,29 @@ public enum Coin { } public func formatted(_ money: Money) -> String { "\(money.amount) \(money.currency)" } + +// Generic types, bridged through the concrete instantiations declarations +// spell. + +public struct Pair { + public var first: First + public var second: Second + + public init(first: First, second: Second) { + self.first = first + self.second = second + } + + public func swapped() -> Pair { Pair(first: second, second: first) } +} + +public final class Box { + public var value: Value + public init(_ value: Value) { self.value = value } + public func replaced(with value: Value) -> Box { Box(value) } +} + +public enum Outcome { + case done(Value) + case failed(reason: String) +} diff --git a/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo.symbols.json b/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo.symbols.json index 4aa72058..bcd02319 100644 --- a/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo.symbols.json +++ b/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo.symbols.json @@ -1 +1 @@ -{"metadata":{"formatVersion":{"major":0,"minor":6,"patch":0},"generator":"Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)"},"module":{"name":"SwiftDemo","platform":{"architecture":"arm64","environment":"simulator","vendor":"apple","operatingSystem":{"name":"ios","minimumVersion":{"major":15,"minor":0}}}},"symbols":[{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo7GreeterP","interfaceLanguage":"swift"},"pathComponents":["Greeter"],"names":{"title":"Greeter","navigator":[{"kind":"identifier","spelling":"Greeter"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeter"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeter"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":0,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Greeter","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":1,"character":9}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo0B0C","interfaceLanguage":"swift"},"pathComponents":["Demo"],"names":{"title":"Demo","navigator":[{"kind":"identifier","spelling":"Demo"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Demo"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Demo"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":4,"character":13}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo0B0CACycfc","interfaceLanguage":"swift"},"pathComponents":["Demo","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":5,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo0B0C5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Demo","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":6,"character":16}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo5PointV","interfaceLanguage":"swift"},"pathComponents":["Point"],"names":{"title":"Point","navigator":[{"kind":"identifier","spelling":"Point"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Point"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Point"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":9,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV1xSdvp","interfaceLanguage":"swift"},"pathComponents":["Point","x"],"names":{"title":"x","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":10,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV1ySdvp","interfaceLanguage":"swift"},"pathComponents":["Point","y"],"names":{"title":"y","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":11,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo5PointV1x1yACSd_Sdtcfc","interfaceLanguage":"swift"},"pathComponents":["Point","init(x:y:)"],"names":{"title":"init(x:y:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"x","declarationFragments":[{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"y","declarationFragments":[{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":12,"character":11}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor"],"names":{"title":"Flavor","navigator":[{"kind":"identifier","spelling":"Flavor"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Flavor"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Flavor"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo6FlavorO7vanillayA2CmF","interfaceLanguage":"swift"},"pathComponents":["Flavor","vanilla"],"names":{"title":"Flavor.vanilla","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vanilla"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vanilla"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":31}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo6FlavorO9chocolateyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Flavor","chocolate"],"names":{"title":"Flavor.chocolate","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"chocolate"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"chocolate"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":44}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Flavor","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo0B0C5greet4name5timesS2S_SitF","interfaceLanguage":"swift"},"pathComponents":["Demo","greet(name:times:)"],"names":{"title":"greet(name:times:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"times","declarationFragments":[{"kind":"identifier","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":1,"character":16}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo0B0C7versionSSvpZ","interfaceLanguage":"swift"},"pathComponents":["Demo","version"],"names":{"title":"version","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":5,"character":22}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV11descriptionSSvp","interfaceLanguage":"swift"},"pathComponents":["Point","description"],"names":{"title":"description","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":9,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV6lengthSdvp","interfaceLanguage":"swift"},"pathComponents":["Point","length"],"names":{"title":"length","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":10,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6FlavorO11descriptionSSvp","interfaceLanguage":"swift"},"pathComponents":["Flavor","description"],"names":{"title":"description","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.enum"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":14,"character":15}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style"],"names":{"title":"Polygon.Style","navigator":[{"kind":"identifier","spelling":"Style"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Style"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Style"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","solid"],"names":{"title":"Polygon.Style.solid","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"solid"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"solid"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":37}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","dashed"],"names":{"title":"Polygon.Style.dashed","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dashed"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dashed"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":44}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics"],"names":{"title":"Polygon.Metrics","navigator":[{"kind":"identifier","spelling":"Metrics"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Metrics"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Metrics"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":33,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics","perimeter"],"names":{"title":"perimeter","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":34,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics","init(perimeter:)"],"names":{"title":"init(perimeter:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"perimeter","declarationFragments":[{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":35,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5styleAC5StyleOvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","style"],"names":{"title":"style","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"style"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Style","preciseIdentifier":"s:9SwiftDemo7PolygonC5StyleO"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"style"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Style","preciseIdentifier":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":38,"character":15}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","metrics(side:)"],"names":{"title":"metrics(side:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"metrics"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"."},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"metrics"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":39,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF","interfaceLanguage":"swift"},"pathComponents":["starterWallet(for:)"],"names":{"title":"starterWallet(for:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"starterWallet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"for"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}]},"functionSignature":{"parameters":[{"name":"for","internalName":"owner","declarationFragments":[{"kind":"identifier","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"starterWallet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"for"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":4,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF","interfaceLanguage":"swift"},"pathComponents":["sum(of:)"],"names":{"title":"sum(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"amounts","declarationFragments":[{"kind":"identifier","spelling":"amounts"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"amounts"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":10,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4flipy0aB3Kit4CoinOAEF","interfaceLanguage":"swift"},"pathComponents":["flip(_:)"],"names":{"title":"flip(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flip"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]},"functionSignature":{"parameters":[{"name":"coin","declarationFragments":[{"kind":"identifier","spelling":"coin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flip"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"coin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":14,"character":12}}},{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo5ShapeP","interfaceLanguage":"swift"},"pathComponents":["Shape"],"names":{"title":"Shape","navigator":[{"kind":"identifier","spelling":"Shape"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Shape"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Shape"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Greeter","preciseIdentifier":"s:9SwiftDemo7GreeterP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":2,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5ShapeP4areaSdvp","interfaceLanguage":"swift"},"pathComponents":["Shape","area"],"names":{"title":"area","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":3,"character":8}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo5ShapeP5sidesSivpZ","interfaceLanguage":"swift"},"pathComponents":["Shape","sides"],"names":{"title":"sides","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":4,"character":15}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7PolygonC","interfaceLanguage":"swift"},"pathComponents":["Polygon"],"names":{"title":"Polygon","navigator":[{"kind":"identifier","spelling":"Polygon"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Polygon"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Polygon"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":7,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4nameSSvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","name"],"names":{"title":"name","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":8,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC11vertexCountSivp","interfaceLanguage":"swift"},"pathComponents":["Polygon","vertexCount"],"names":{"title":"vertexCount","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":9,"character":28}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC6sharedACvpZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","shared"],"names":{"title":"shared","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shared"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shared"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":10,"character":22}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","init(name:vertexCount:)"],"names":{"title":"init(name:vertexCount:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"vertexCount","declarationFragments":[{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":12,"character":11}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4nameACSgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","init(name:)"],"names":{"title":"init(name:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"convenience"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":17,"character":23}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":22,"character":14}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale2byySi_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":23,"character":14}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(x:y:)"],"names":{"title":"scale(x:y:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"x","declarationFragments":[{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"y","declarationFragments":[{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":24,"character":16}}},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4makeACyFZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","make()"],"names":{"title":"make()","subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"make"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"make"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":26,"character":22}}},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC8describeySSACSgFZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"polygon","declarationFragments":[{"kind":"identifier","spelling":"polygon"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"polygon"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":27,"character":23}}},{"kind":{"identifier":"swift.subscript","displayName":"Instance Subscript"},"identifier":{"precise":"s:9SwiftDemo7PolygonCyAA5PointVSicip","interfaceLanguage":"swift"},"pathComponents":["Polygon","subscript(_:)"],"names":{"title":"subscript(_:)","subHeading":[{"kind":"keyword","spelling":"subscript"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"parameters":[{"name":"index","declarationFragments":[{"kind":"identifier","spelling":"index"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"subscript"},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"index"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":29,"character":11}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6SquareC","interfaceLanguage":"swift"},"pathComponents":["Square"],"names":{"title":"Square","navigator":[{"kind":"identifier","spelling":"Square"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Square"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Square"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":34,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC4sideSdvp","interfaceLanguage":"swift"},"pathComponents":["Square","side"],"names":{"title":"side","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":35,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6SquareC4sideACSd_tcfc","interfaceLanguage":"swift"},"pathComponents":["Square","init(side:)"],"names":{"title":"init(side:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":37,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC4areaSdvp","interfaceLanguage":"swift"},"pathComponents":["Square","area"],"names":{"title":"area","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":42,"character":15}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC5sidesSivpZ","interfaceLanguage":"swift"},"pathComponents":["Square","sides"],"names":{"title":"sides","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":43,"character":22}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6SquareC5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Square","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":44,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6SquareC5scale2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Square","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"override"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":46,"character":25}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation"],"names":{"title":"Precipitation","navigator":[{"kind":"identifier","spelling":"Precipitation"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Precipitation"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Precipitation"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":50,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4rainyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","rain"],"names":{"title":"Precipitation.rain","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rain"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rain"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4snowyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","snow"],"names":{"title":"Precipitation.snow","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"snow"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"snow"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":15}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4noneyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","none"],"names":{"title":"Precipitation.none","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":21}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Precipitation","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO","interfaceLanguage":"swift"},"pathComponents":["ShapeError"],"names":{"title":"ShapeError","navigator":[{"kind":"identifier","spelling":"ShapeError"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ShapeError"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ShapeError"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":54,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO","interfaceLanguage":"swift"},"pathComponents":["ShapeError","localizedDescription"],"names":{"title":"localizedDescription","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localizedDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"docComment":{"module":"Foundation","lines":[{"text":"Retrieve the localized description for this error."}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localizedDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":8,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":10}},{"domain":"tvOS","introduced":{"major":9,"minor":0}},{"domain":"watchOS","introduced":{"major":2,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","invalidSide(_:)"],"names":{"title":"ShapeError.invalidSide(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":55,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","tooManySides(count:limit:)"],"names":{"title":"ShapeError.tooManySides(count:limit:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tooManySides"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tooManySides"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":56,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO7unknownyA2CmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","unknown"],"names":{"title":"ShapeError.unknown","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unknown"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unknown"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":57,"character":9}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO","interfaceLanguage":"swift"},"pathComponents":["Measurement"],"names":{"title":"Measurement","navigator":[{"kind":"identifier","spelling":"Measurement"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Measurement"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Measurement"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":60,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO6lengthyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","length(_:)"],"names":{"title":"Measurement.length(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":61,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","area(width:height:)"],"names":{"title":"Measurement.area(width:height:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":62,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4noneyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","none"],"names":{"title":"Measurement.none","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":63,"character":9}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit"],"names":{"title":"Measurement.Unit","navigator":[{"kind":"identifier","spelling":"Unit"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Unit"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Unit"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":65,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit","symbol"],"names":{"title":"symbol","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":66,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit","init(symbol:)"],"names":{"title":"init(symbol:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"symbol","declarationFragments":[{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":67,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO6isNoneSbvp","interfaceLanguage":"swift"},"pathComponents":["Measurement","isNone"],"names":{"title":"isNone","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isNone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isNone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":70,"character":15}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo4RingV","interfaceLanguage":"swift"},"pathComponents":["Ring"],"names":{"title":"Ring","navigator":[{"kind":"identifier","spelling":"Ring"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ring"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ring"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":76,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4RingV5innerAA5PointVvp","interfaceLanguage":"swift"},"pathComponents":["Ring","inner"],"names":{"title":"inner","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":77,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4RingV5outerAA5PointVvp","interfaceLanguage":"swift"},"pathComponents":["Ring","outer"],"names":{"title":"outer","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":78,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc","interfaceLanguage":"swift"},"pathComponents":["Ring","init(inner:outer:)"],"names":{"title":"init(inner:outer:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"inner","declarationFragments":[{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},{"name":"outer","declarationFragments":[{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":80,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo4RingV6expand2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Ring","expand(by:)"],"names":{"title":"expand(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"delta","declarationFragments":[{"kind":"identifier","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"mutating"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":85,"character":25}}},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:9SwiftDemo4RingV1poiyA2C_ACtFZ","interfaceLanguage":"swift"},"pathComponents":["Ring","+(_:_:)"],"names":{"title":"+(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"+"},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"+"},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":90,"character":23}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter"],"names":{"title":"Counter","navigator":[{"kind":"identifier","spelling":"Counter"}],"subHeading":[{"kind":"keyword","spelling":"actor"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Counter"}]},"declarationFragments":[{"kind":"keyword","spelling":"actor"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Counter"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":95,"character":13}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","withSerialExecutor(_:)"],"names":{"title":"withSerialExecutor(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">((any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Perform an operation with the actor's ``SerialExecutor``."},{"text":""},{"text":"This converts the actor's ``Actor/unownedExecutor`` to a ``SerialExecutor`` while"},{"text":"retaining the actor for the duration of the operation. This is to ensure the lifetime"},{"text":"of the executor while performing the operation."}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1},{"name":"E","index":1,"depth":1}],"constraints":[{"kind":"conformance","lhs":"E","rhs":"Error","rhsPrecise":"s:s5ErrorP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Error","preciseIdentifier":"s:s5ErrorP"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : ~Copyable"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","withSerialExecutor(_:)"],"names":{"title":"withSerialExecutor(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"keyword","spelling":"nonisolated(nonsending)"},{"kind":"text","spelling":" (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Perform an operation with the actor's ``SerialExecutor``."},{"text":""},{"text":"This converts the actor's ``Actor/unownedExecutor`` to a ``SerialExecutor`` while"},{"text":"retaining the actor for the duration of the operation. This is to ensure the lifetime"},{"text":"of the executor while performing the operation."}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1},{"name":"E","index":1,"depth":1}],"constraints":[{"kind":"conformance","lhs":"E","rhs":"Error","rhsPrecise":"s:s5ErrorP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"nonisolated(nonsending)"},{"kind":"text","spelling":" (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Error","preciseIdentifier":"s:s5ErrorP"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : ~Copyable"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","preconditionIsolated(_:file:line:)"],"names":{"title":"preconditionIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preconditionIsolated"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":")"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Stops program execution if the current task is not executing on this"},{"text":"actor's serial executor."},{"text":""},{"text":"This function's effect varies depending on the build flag used:"},{"text":""},{"text":"* In playgrounds and `-Onone` builds (the default for Xcode's Debug"},{"text":" configuration), stops program execution in a debuggable state after"},{"text":" printing `message`."},{"text":""},{"text":"* In `-O` builds (the default for Xcode's Release configuration), stops"},{"text":" program execution."},{"text":""},{"text":"- Note: Because this check is performed against the actor's serial executor,"},{"text":" if another actor uses the same serial executor--by using"},{"text":" that actor's serial executor as its own ``Actor/unownedExecutor``--this"},{"text":" check will succeed. From a concurrency safety perspective, the"},{"text":" serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - message: The message to print if the assertion fails."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": () -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"text","spelling":"@backDeployed(before: macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0)\n"},{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preconditionIsolated"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" = String(), "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","assertIsolated(_:file:line:)"],"names":{"title":"assertIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assertIsolated"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":")"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Stops program execution if the current task is not executing on this"},{"text":"actor's serial executor."},{"text":""},{"text":"This function's effect varies depending on the build flag used:"},{"text":""},{"text":"* In playgrounds and `-Onone` builds (the default for Xcode's Debug"},{"text":" configuration), stops program execution in a debuggable state after"},{"text":" printing `message`."},{"text":""},{"text":"* In `-O` builds (the default for Xcode's Release configuration),"},{"text":" the isolation check is not performed and there are no effects."},{"text":""},{"text":"- Note: This check is performed against the actor's serial executor,"},{"text":" meaning that / if another actor uses the same serial executor--by using"},{"text":" that actor's serial executor as its own ``Actor/unownedExecutor``--this"},{"text":" check will succeed , as from a concurrency safety perspective, the"},{"text":" serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - message: The message to print if the assertion fails."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": () -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"text","spelling":"@backDeployed(before: macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0)\n"},{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assertIsolated"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" = String(), "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","assumeIsolated(_:file:line:)"],"names":{"title":"assumeIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assumeIsolated"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">(("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"rethrows"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Assume that the current task is executing on this actor's serial executor,"},{"text":"or stop program execution otherwise."},{"text":""},{"text":"You call this method to *assume and verify* that the currently"},{"text":"executing synchronous function is actually executing on the serial"},{"text":"executor of this actor."},{"text":""},{"text":"If that is the case, the operation is invoked with an `isolated` version"},{"text":"of the actor, allowing synchronous access to actor local state without"},{"text":"hopping through asynchronous boundaries."},{"text":""},{"text":"If the current context is not running on the actor's serial executor, or"},{"text":"if the actor is a reference to a remote actor, this method will crash"},{"text":"with a fatal error (similar to ``preconditionIsolated(_:file:line:)``)."},{"text":""},{"text":"Note that this check is performed against the passed in actor's serial"},{"text":"executor, meaning that if another actor uses the same serial executor--by"},{"text":"using that actor's ``Actor/unownedExecutor`` as its own"},{"text":"``Actor/unownedExecutor``--this check will succeed, as from a concurrency"},{"text":"safety perspective, the serial executor guarantees mutual exclusion of"},{"text":"those two actors."},{"text":""},{"text":"This method can only be used from synchronous functions, as asynchronous"},{"text":"functions should instead perform a normal method call to the actor, which"},{"text":"will hop task execution to the target actor if necessary."},{"text":""},{"text":"- Note: This check is performed against the actor's serial executor,"},{"text":" meaning that / if another actor uses the same serial executor--by using"},{"text":" another actor's executor as its own ``Actor/unownedExecutor``"},{"text":" --this check will succeed , as from a concurrency safety perspective,"},{"text":" the serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - operation: the operation that will be executed if the current context"},{"text":" is executing on the actors serial executor."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."},{"text":"- Returns: the return value of the `operation`"},{"text":"- Throws: rethrows the `Error` thrown by the operation if it threw"}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1}],"constraints":[{"kind":"conformance","lhs":"T","rhs":"Sendable","rhsPrecise":"s:s8SendableP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assumeIsolated"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"rethrows"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Sendable","preciseIdentifier":"s:s8SendableP"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7CounterC5valueSivp","interfaceLanguage":"swift"},"pathComponents":["Counter","value"],"names":{"title":"value","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":96,"character":28}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7CounterC4stepSivp","interfaceLanguage":"swift"},"pathComponents":["Counter","step"],"names":{"title":"step","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"step"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"step"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":97,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7CounterCACycfc","interfaceLanguage":"swift"},"pathComponents":["Counter","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":98,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7CounterC9incrementSiyF","interfaceLanguage":"swift"},"pathComponents":["Counter","increment()"],"names":{"title":"increment()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"increment"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"increment"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":99,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7CounterC5labelSSyF","interfaceLanguage":"swift"},"pathComponents":["Counter","label()"],"names":{"title":"label()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":103,"character":28}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6CanvasC","interfaceLanguage":"swift"},"pathComponents":["Canvas"],"names":{"title":"Canvas","navigator":[{"kind":"identifier","spelling":"Canvas"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Canvas"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Canvas"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":107,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6CanvasCACycfc","interfaceLanguage":"swift"},"pathComponents":["Canvas","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":108,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6CanvasC4drawyyAA5Shape_pF","interfaceLanguage":"swift"},"pathComponents":["Canvas","draw(_:)"],"names":{"title":"draw(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draw"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"shape","declarationFragments":[{"kind":"identifier","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draw"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":109,"character":16}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6LoaderC","interfaceLanguage":"swift"},"pathComponents":["Loader"],"names":{"title":"Loader","navigator":[{"kind":"identifier","spelling":"Loader"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Loader"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Loader"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":112,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6LoaderCACycfc","interfaceLanguage":"swift"},"pathComponents":["Loader","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":113,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF","interfaceLanguage":"swift"},"pathComponents":["Loader","load(path:)"],"names":{"title":"load(path:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"load"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"functionSignature":{"parameters":[{"name":"path","declarationFragments":[{"kind":"identifier","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"load"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":115,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF","interfaceLanguage":"swift"},"pathComponents":["Loader","fetch(url:)"],"names":{"title":"fetch(url:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fetch"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"url","declarationFragments":[{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fetch"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":116,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF","interfaceLanguage":"swift"},"pathComponents":["Loader","wait(seconds:)"],"names":{"title":"wait(seconds:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wait"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"}]},"functionSignature":{"parameters":[{"name":"seconds","declarationFragments":[{"kind":"identifier","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wait"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":117,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF","interfaceLanguage":"swift"},"pathComponents":["Loader","transform(_:)"],"names":{"title":"transform(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transform"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"}]},"functionSignature":{"parameters":[{"name":"shape","declarationFragments":[{"kind":"identifier","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":0}],"constraints":[{"kind":"conformance","lhs":"T","rhs":"Shape","rhsPrecise":"s:9SwiftDemo5ShapeP"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transform"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":119,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF","interfaceLanguage":"swift"},"pathComponents":["Loader","first(of:)"],"names":{"title":"first(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Element"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"items","declarationFragments":[{"kind":"identifier","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Element"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"parameters":[{"name":"Element","index":0,"depth":0}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Element"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":120,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC14withCompletionyyys6ResultOySSAA10ShapeErrorOGcF","interfaceLanguage":"swift"},"pathComponents":["Loader","withCompletion(_:)"],"names":{"title":"withCompletion(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withCompletion"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"completion","declarationFragments":[{"kind":"identifier","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withCompletion"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":122,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4eachyyySiXEF","interfaceLanguage":"swift"},"pathComponents":["Loader","each(_:)"],"names":{"title":"each(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"each"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"body","declarationFragments":[{"kind":"identifier","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"each"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":123,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF","interfaceLanguage":"swift"},"pathComponents":["Loader","lookup(table:key:)"],"names":{"title":"lookup(table:key:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lookup"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"table","declarationFragments":[{"kind":"identifier","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},{"name":"key","declarationFragments":[{"kind":"identifier","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lookup"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":125,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC6updateyyAA5PointVzF","interfaceLanguage":"swift"},"pathComponents":["Loader","update(_:)"],"names":{"title":"update(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"point","declarationFragments":[{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"point"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":127,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC10modernOnlyyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","modernOnly()"],"names":{"title":"modernOnly()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"modernOnly"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"modernOnly"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":16,"minor":0}}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":130,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC11legacyFetchyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","legacyFetch()"],"names":{"title":"legacyFetch()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"legacyFetch"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"legacyFetch"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"*","message":"Use fetch(url:) instead","isUnconditionallyDeprecated":true}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":133,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC8oldFetchyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","oldFetch()"],"names":{"title":"oldFetch()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"oldFetch"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"oldFetch"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":15,"minor":0},"deprecated":{"major":17,"minor":0},"renamed":"fetch(url:)"}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":136,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo16makeDefaultPointAA0E0VyF","interfaceLanguage":"swift"},"pathComponents":["makeDefaultPoint()"],"names":{"title":"makeDefaultPoint()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeDefaultPoint"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeDefaultPoint"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":139,"character":12}}},{"kind":{"identifier":"swift.var","displayName":"Global Variable"},"identifier":{"precise":"s:9SwiftDemo13defaultFlavorAA0D0Ovp","interfaceLanguage":"swift"},"pathComponents":["defaultFlavor"],"names":{"title":"defaultFlavor","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"defaultFlavor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"defaultFlavor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":140,"character":11}}},{"kind":{"identifier":"swift.var","displayName":"Global Variable"},"identifier":{"precise":"s:9SwiftDemo13globalCounterSivp","interfaceLanguage":"swift"},"pathComponents":["globalCounter"],"names":{"title":"globalCounter","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"globalCounter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"globalCounter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":141,"character":11}}},{"kind":{"identifier":"swift.typealias","displayName":"Type Alias"},"identifier":{"precise":"s:9SwiftDemo11Coordinatesa","interfaceLanguage":"swift"},"pathComponents":["Coordinates"],"names":{"title":"Coordinates","navigator":[{"kind":"identifier","spelling":"Coordinates"}],"subHeading":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coordinates"}]},"declarationFragments":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coordinates"},{"kind":"text","spelling":" = (latitude"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", longitude"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":142,"character":17}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo11checkedSideyS2dKF","interfaceLanguage":"swift"},"pathComponents":["checkedSide(_:)"],"names":{"title":"checkedSide(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checkedSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checkedSide"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":5,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8echoInt8ys0D0VADF","interfaceLanguage":"swift"},"pathComponents":["echoInt8(_:)"],"names":{"title":"echoInt8(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoInt8"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoInt8"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":10,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10echoUInt64ys0D0VADF","interfaceLanguage":"swift"},"pathComponents":["echoUInt64(_:)"],"names":{"title":"echoUInt64(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoUInt64"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoUInt64"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":11,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10largestIntSiyF","interfaceLanguage":"swift"},"pathComponents":["largestInt()"],"names":{"title":"largestInt()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"largestInt"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"largestInt"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":12,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5shoutySSSgACF","interfaceLanguage":"swift"},"pathComponents":["shout(_:)"],"names":{"title":"shout(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":13,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7TrackerC","interfaceLanguage":"swift"},"pathComponents":["Tracker"],"names":{"title":"Tracker","navigator":[{"kind":"identifier","spelling":"Tracker"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Tracker"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Tracker"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":15,"character":19}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo7TrackerC9liveCountSivpZ","interfaceLanguage":"swift"},"pathComponents":["Tracker","liveCount"],"names":{"title":"liveCount","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"liveCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"liveCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":16,"character":35}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7TrackerC2idSivp","interfaceLanguage":"swift"},"pathComponents":["Tracker","id"],"names":{"title":"id","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":17,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7TrackerC2idACSi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Tracker","init(id:)"],"names":{"title":"init(id:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":19,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7TrackerC4sameACyF","interfaceLanguage":"swift"},"pathComponents":["Tracker","same()"],"names":{"title":"same()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":26,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo11delayedEcho_5afterS2S_SdtYaKF","interfaceLanguage":"swift"},"pathComponents":["delayedEcho(_:after:)"],"names":{"title":"delayedEcho(_:after:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delayedEcho"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"after","internalName":"seconds","declarationFragments":[{"kind":"identifier","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delayedEcho"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":29,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo16makeTrackerLater2idAA0D0CSi_tYaF","interfaceLanguage":"swift"},"pathComponents":["makeTrackerLater(id:)"],"names":{"title":"makeTrackerLater(id:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeTrackerLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeTrackerLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":35,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7PaletteC","interfaceLanguage":"swift"},"pathComponents":["Palette"],"names":{"title":"Palette","navigator":[{"kind":"identifier","spelling":"Palette"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Palette"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Palette"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":41,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PaletteC7strokesSivp","interfaceLanguage":"swift"},"pathComponents":["Palette","strokes"],"names":{"title":"strokes","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":42,"character":28}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PaletteCACycfc","interfaceLanguage":"swift"},"pathComponents":["Palette","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":43,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PaletteC6strokeSiyF","interfaceLanguage":"swift"},"pathComponents":["Palette","stroke()"],"names":{"title":"stroke()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stroke"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stroke"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":44,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PaletteC11strokeLaterSiyYaF","interfaceLanguage":"swift"},"pathComponents":["Palette","strokeLater()"],"names":{"title":"strokeLater()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokeLater"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokeLater"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":48,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5namesySaySSGSiF","interfaceLanguage":"swift"},"pathComponents":["names(_:)"],"names":{"title":"names(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":54,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5totalySdSaySdGF","interfaceLanguage":"swift"},"pathComponents":["total(_:)"],"names":{"title":"total(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"total"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"values","declarationFragments":[{"kind":"identifier","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"total"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":55,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8centroid2ofAA5PointVSayAEG_tF","interfaceLanguage":"swift"},"pathComponents":["centroid(of:)"],"names":{"title":"centroid(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"centroid"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"points","declarationFragments":[{"kind":"identifier","spelling":"points"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"centroid"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"points"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":56,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8mirroredySaySaySiGGADF","interfaceLanguage":"swift"},"pathComponents":["mirrored(_:)"],"names":{"title":"mirrored(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mirrored"},{"kind":"text","spelling":"([["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]) -> [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]},"functionSignature":{"parameters":[{"name":"grid","declarationFragments":[{"kind":"identifier","spelling":"grid"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]}],"returns":[{"kind":"text","spelling":"[["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mirrored"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"grid"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]) -> [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":57,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10wordCountsySDySSSiGSaySSGF","interfaceLanguage":"swift"},"pathComponents":["wordCounts(_:)"],"names":{"title":"wordCounts(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wordCounts"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"words","declarationFragments":[{"kind":"identifier","spelling":"words"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wordCounts"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"words"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":58,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7lengthsySDySSSiGSDyS2SGF","interfaceLanguage":"swift"},"pathComponents":["lengths(_:)"],"names":{"title":"lengths(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lengths"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"table","declarationFragments":[{"kind":"identifier","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lengths"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":61,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8trackersySayAA7TrackerCGSaySiGF","interfaceLanguage":"swift"},"pathComponents":["trackers(_:)"],"names":{"title":"trackers(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"trackers"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"ids","declarationFragments":[{"kind":"identifier","spelling":"ids"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"trackers"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"ids"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":62,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10allFlavorsSayAA6FlavorOGyF","interfaceLanguage":"swift"},"pathComponents":["allFlavors()"],"names":{"title":"allFlavors()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allFlavors"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allFlavors"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":63,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7nextDay5after10Foundation4DateVAF_tF","interfaceLanguage":"swift"},"pathComponents":["nextDay(after:)"],"names":{"title":"nextDay(after:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextDay"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]},"functionSignature":{"parameters":[{"name":"after","internalName":"date","declarationFragments":[{"kind":"identifier","spelling":"date"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextDay"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"date"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":64,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF","interfaceLanguage":"swift"},"pathComponents":["host(of:)"],"names":{"title":"host(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"host"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"url","declarationFragments":[{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"host"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":65,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7resolve_7against10Foundation3URLVSS_AFtF","interfaceLanguage":"swift"},"pathComponents":["resolve(_:against:)"],"names":{"title":"resolve(_:against:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resolve"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"against"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]},"functionSignature":{"parameters":[{"name":"path","declarationFragments":[{"kind":"identifier","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"against","internalName":"base","declarationFragments":[{"kind":"identifier","spelling":"base"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resolve"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"against"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"base"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":66,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8checksumySi10Foundation4DataVF","interfaceLanguage":"swift"},"pathComponents":["checksum(_:)"],"names":{"title":"checksum(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checksum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"parameters":[{"name":"data","declarationFragments":[{"kind":"identifier","spelling":"data"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checksum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"data"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":67,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4rampy10Foundation4DataVSiF","interfaceLanguage":"swift"},"pathComponents":["ramp(_:)"],"names":{"title":"ramp(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ramp"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ramp"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":68,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10namesLaterySaySSGSiYaF","interfaceLanguage":"swift"},"pathComponents":["namesLater(_:)"],"names":{"title":"namesLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"namesLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"namesLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":69,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9countdown4from_ySi_ySi_SbtXEtF","interfaceLanguage":"swift"},"pathComponents":["countdown(from:_:)"],"names":{"title":"countdown(from:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countdown"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"from"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"from","internalName":"start","declarationFragments":[{"kind":"identifier","spelling":"start"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},{"name":"tick","declarationFragments":[{"kind":"identifier","spelling":"tick"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countdown"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"from"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"start"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"tick"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":74,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10greetLater_10completionySSSg_yADYbctF","interfaceLanguage":"swift"},"pathComponents":["greetLater(_:completion:)"],"names":{"title":"greetLater(_:completion:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},{"name":"completion","declarationFragments":[{"kind":"identifier","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":80,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo8NotifierC","interfaceLanguage":"swift"},"pathComponents":["Notifier"],"names":{"title":"Notifier","navigator":[{"kind":"identifier","spelling":"Notifier"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Notifier"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Notifier"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":86,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo8NotifierCACycfc","interfaceLanguage":"swift"},"pathComponents":["Notifier","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":88,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo8NotifierC5countSivp","interfaceLanguage":"swift"},"pathComponents":["Notifier","count"],"names":{"title":"count","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":89,"character":15}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC9subscribeyyySSYbcF","interfaceLanguage":"swift"},"pathComponents":["Notifier","subscribe(_:)"],"names":{"title":"subscribe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribe"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"handler","declarationFragments":[{"kind":"identifier","spelling":"handler"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"handler"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":90,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC7publishyySSF","interfaceLanguage":"swift"},"pathComponents":["Notifier","publish(_:)"],"names":{"title":"publish(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publish"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publish"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":91,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC12publishLateryySSF","interfaceLanguage":"swift"},"pathComponents":["Notifier","publishLater(_:)"],"names":{"title":"publishLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publishLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publishLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":92,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC5clearyyF","interfaceLanguage":"swift"},"pathComponents":["Notifier","clear()"],"names":{"title":"clear()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":96,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4area2ofSdAA11MeasurementO_tF","interfaceLanguage":"swift"},"pathComponents":["area(of:)"],"names":{"title":"area(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"measurement","declarationFragments":[{"kind":"identifier","spelling":"measurement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"measurement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":99,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7measure_2byAA11MeasurementOSd_SdSgtF","interfaceLanguage":"swift"},"pathComponents":["measure(_:by:)"],"names":{"title":"measure(_:by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measure"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"functionSignature":{"parameters":[{"name":"width","declarationFragments":[{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"by","internalName":"height","declarationFragments":[{"kind":"identifier","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":106,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12measurementsSayAA11MeasurementOGyF","interfaceLanguage":"swift"},"pathComponents":["measurements()"],"names":{"title":"measurements()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measurements"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measurements"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":111,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF","interfaceLanguage":"swift"},"pathComponents":["measureLater(_:)"],"names":{"title":"measureLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measureLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"functionSignature":{"parameters":[{"name":"width","declarationFragments":[{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measureLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":113,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9onMeasureyyyAA11MeasurementOXEF","interfaceLanguage":"swift"},"pathComponents":["onMeasure(_:)"],"names":{"title":"onMeasure(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onMeasure"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"body","declarationFragments":[{"kind":"identifier","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onMeasure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":118,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7explainySSAA10ShapeErrorOF","interfaceLanguage":"swift"},"pathComponents":["explain(_:)"],"names":{"title":"explain(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"explain"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"error","declarationFragments":[{"kind":"identifier","spelling":"error"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"explain"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"error"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":120,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7FormulaO","interfaceLanguage":"swift"},"pathComponents":["Formula"],"names":{"title":"Formula","navigator":[{"kind":"identifier","spelling":"Formula"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Formula"}]},"declarationFragments":[{"kind":"keyword","spelling":"indirect"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Formula"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":128,"character":21}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO6numberyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","number(_:)"],"names":{"title":"Formula.number(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"number"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"number"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":129,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","sum(_:_:)"],"names":{"title":"Formula.sum(_:_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":130,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO6negateyA2CcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","negate(_:)"],"names":{"title":"Formula.negate(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"negate"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"negate"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":131,"character":9}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7FormulaO5valueSdvp","interfaceLanguage":"swift"},"pathComponents":["Formula","value"],"names":{"title":"value","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":133,"character":15}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8simplifyyAA7FormulaOADF","interfaceLanguage":"swift"},"pathComponents":["simplify(_:)"],"names":{"title":"simplify(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simplify"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]},"functionSignature":{"parameters":[{"name":"formula","declarationFragments":[{"kind":"identifier","spelling":"formula"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simplify"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"formula"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":142,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7PayloadO","interfaceLanguage":"swift"},"pathComponents":["Payload"],"names":{"title":"Payload","navigator":[{"kind":"identifier","spelling":"Payload"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Payload"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Payload"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":144,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","tracker(_:)"],"names":{"title":"Payload.tracker(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tracker"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tracker"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":145,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","point(_:)"],"names":{"title":"Payload.point(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":146,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","flavor(_:)"],"names":{"title":"Payload.flavor(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flavor"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flavor"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":147,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","maybe(_:)"],"names":{"title":"Payload.maybe(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maybe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?)"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maybe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?)"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":148,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","names(_:)"],"names":{"title":"Payload.names(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":149,"character":9}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4echoyAA7PayloadOADF","interfaceLanguage":"swift"},"pathComponents":["echo(_:)"],"names":{"title":"echo(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echo"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]},"functionSignature":{"parameters":[{"name":"payload","declarationFragments":[{"kind":"identifier","spelling":"payload"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echo"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"payload"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":152,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo3JobO","interfaceLanguage":"swift"},"pathComponents":["Job"],"names":{"title":"Job","navigator":[{"kind":"identifier","spelling":"Job"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Job"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Job"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":155,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo3JobO3runyACyyccACmF","interfaceLanguage":"swift"},"pathComponents":["Job","run(_:)"],"names":{"title":"Job.run(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"run"},{"kind":"text","spelling":"(() -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"run"},{"kind":"text","spelling":"(() -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":156,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo3JobO4idleyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Job","idle"],"names":{"title":"Job.idle","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"idle"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"idle"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":157,"character":9}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket"],"names":{"title":"Job.Ticket","navigator":[{"kind":"identifier","spelling":"Ticket"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ticket"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ticket"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":159,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV2idSivp","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket","id"],"names":{"title":"id","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":160,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV2idAESi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket","init(id:)"],"names":{"title":"init(id:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":161,"character":15}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4bumpyySizF","interfaceLanguage":"swift"},"pathComponents":["bump(_:)"],"names":{"title":"bump(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bump"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bump"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":165,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo6append_2toySS_SaySSGztF","interfaceLanguage":"swift"},"pathComponents":["append(_:to:)"],"names":{"title":"append(_:to:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"append"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}]},"functionSignature":{"parameters":[{"name":"word","declarationFragments":[{"kind":"identifier","spelling":"word"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"to","internalName":"words","declarationFragments":[{"kind":"identifier","spelling":"words"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"append"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"word"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"words"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":166,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5halveyySizKF","interfaceLanguage":"swift"},"pathComponents":["halve(_:)"],"names":{"title":"halve(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"halve"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"halve"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":167,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5clearyySSSgzF","interfaceLanguage":"swift"},"pathComponents":["clear(_:)"],"names":{"title":"clear(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?)"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?)"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":171,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12swapTrackersyyAA7TrackerCz_ADztF","interfaceLanguage":"swift"},"pathComponents":["swapTrackers(_:_:)"],"names":{"title":"swapTrackers(_:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapTrackers"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"a","declarationFragments":[{"kind":"identifier","spelling":"a"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},{"name":"b","declarationFragments":[{"kind":"identifier","spelling":"b"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapTrackers"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"a"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"b"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":172,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8describeySSSo6UIViewCF","interfaceLanguage":"swift"},"pathComponents":["describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"view","declarationFragments":[{"kind":"identifier","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":5,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9makeLabelySo7UILabelCSSF","interfaceLanguage":"swift"},"pathComponents":["makeLabel(_:)"],"names":{"title":"makeLabel(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeLabel"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeLabel"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":7,"character":23}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF","interfaceLanguage":"swift"},"pathComponents":["tags(_:)"],"names":{"title":"tags(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"views","declarationFragments":[{"kind":"identifier","spelling":"views"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"views"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":13,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF","interfaceLanguage":"swift"},"pathComponents":["firstSubview(of:)"],"names":{"title":"firstSubview(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"firstSubview"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"view","declarationFragments":[{"kind":"identifier","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"firstSubview"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":15,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"c:@M@SwiftDemo@objc(cs)Note","interfaceLanguage":"swift"},"pathComponents":["Note"],"names":{"title":"Note","navigator":[{"kind":"identifier","spelling":"Note"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":17,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4NoteC4textSSvp","interfaceLanguage":"swift"},"pathComponents":["Note","text"],"names":{"title":"text","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":18,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo4NoteC4textACSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Note","init(text:)"],"names":{"title":"init(text:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":19,"character":11}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8makeNoteyAA0D0CSSF","interfaceLanguage":"swift"},"pathComponents":["makeNote(_:)"],"names":{"title":"makeNote(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeNote"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeNote"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":22,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4text2ofSSAA4NoteC_tF","interfaceLanguage":"swift"},"pathComponents":["text(of:)"],"names":{"title":"text(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"note","declarationFragments":[{"kind":"identifier","spelling":"note"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"note"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":23,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9noteLateryAA4NoteCSSYaF","interfaceLanguage":"swift"},"pathComponents":["noteLater(_:)"],"names":{"title":"noteLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"noteLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"noteLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":25,"character":12}}}],"relationships":[{"kind":"requirementOf","source":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","target":"s:9SwiftDemo7GreeterP"},{"kind":"conformsTo","source":"s:9SwiftDemo0B0C","target":"s:9SwiftDemo7GreeterP"},{"kind":"memberOf","source":"s:9SwiftDemo0B0CACycfc","target":"s:9SwiftDemo0B0C"},{"kind":"memberOf","source":"s:9SwiftDemo0B0C5greet4nameS2S_tF","target":"s:9SwiftDemo0B0C","sourceOrigin":{"identifier":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","displayName":"Greeter.greet(name:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1xSdvp","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1ySdvp","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1x1yACSd_Sdtcfc","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO7vanillayA2CmF","target":"s:9SwiftDemo6FlavorO"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO9chocolateyA2CmF","target":"s:9SwiftDemo6FlavorO"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:9SwiftDemo0B0C5greet4name5timesS2S_SitF","target":"s:9SwiftDemo0B0C"},{"kind":"memberOf","source":"s:9SwiftDemo0B0C7versionSSvpZ","target":"s:9SwiftDemo0B0C"},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s9EscapableP","targetFallback":"Swift.Escapable"},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s8CopyableP","targetFallback":"Swift.Copyable"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV11descriptionSSvp","target":"s:9SwiftDemo5PointV","sourceOrigin":{"identifier":"s:s23CustomStringConvertibleP11descriptionSSvp","displayName":"CustomStringConvertible.description"}},{"kind":"memberOf","source":"s:9SwiftDemo5PointV6lengthSdvp","target":"s:9SwiftDemo5PointV"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s9EscapableP","targetFallback":"Swift.Escapable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s8CopyableP","targetFallback":"Swift.Copyable"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO11descriptionSSvp","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:s23CustomStringConvertibleP11descriptionSSvp","displayName":"CustomStringConvertible.description"}},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF","target":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF","target":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp","target":"s:9SwiftDemo7PolygonC7MetricsV"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc","target":"s:9SwiftDemo7PolygonC7MetricsV"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5styleAC5StyleOvp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"conformsTo","source":"s:9SwiftDemo5ShapeP","target":"s:9SwiftDemo7GreeterP"},{"kind":"requirementOf","source":"s:9SwiftDemo5ShapeP4areaSdvp","target":"s:9SwiftDemo5ShapeP"},{"kind":"requirementOf","source":"s:9SwiftDemo5ShapeP5sidesSivpZ","target":"s:9SwiftDemo5ShapeP"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4nameSSvp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC11vertexCountSivp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC6sharedACvpZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4nameACSgSS_tcfc","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale2byySd_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale2byySi_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4makeACyFZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC8describeySSACSgFZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonCyAA5PointVSicip","target":"s:9SwiftDemo7PolygonC"},{"kind":"conformsTo","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo5ShapeP"},{"kind":"conformsTo","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo7GreeterP"},{"kind":"inheritsFrom","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4sideSdvp","target":"s:9SwiftDemo6SquareC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4sideACSd_tcfc","target":"s:9SwiftDemo6SquareC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4areaSdvp","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo5ShapeP4areaSdvp","displayName":"Shape.area"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5sidesSivpZ","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo5ShapeP5sidesSivpZ","displayName":"Shape.sides"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5greet4nameS2S_tF","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","displayName":"Greeter.greet(name:)"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5scale2byySd_tF","target":"s:9SwiftDemo6SquareC"},{"kind":"overrides","source":"s:9SwiftDemo6SquareC5scale2byySd_tF","target":"s:9SwiftDemo7PolygonC5scale2byySd_tF"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4rainyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4snowyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4noneyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO","target":"s:9SwiftDemo10ShapeErrorO","sourceOrigin":{"identifier":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp","displayName":"Error.localizedDescription"}},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s5ErrorP","targetFallback":"Swift.Error"},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO7unknownyA2CmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO6lengthyACSdcACmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4noneyA2CmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp","target":"s:9SwiftDemo11MeasurementO4UnitV"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc","target":"s:9SwiftDemo11MeasurementO4UnitV"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO6isNoneSbvp","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5innerAA5PointVvp","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5outerAA5PointVvp","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV6expand2byySd_tF","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV1poiyA2C_ACtFZ","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF","displayName":"Actor.withSerialExecutor(_:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF","displayName":"Actor.withSerialExecutor(_:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF","displayName":"Actor.preconditionIsolated(_:file:line:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF","displayName":"Actor.assertIsolated(_:file:line:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF","displayName":"Actor.assumeIsolated(_:file:line:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:ScA","targetFallback":"_Concurrency.Actor"},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC5valueSivp","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC4stepSivp","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterCACycfc","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC9incrementSiyF","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC5labelSSyF","target":"s:9SwiftDemo7CounterC"},{"kind":"conformsTo","source":"s:9SwiftDemo6CanvasC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"memberOf","source":"s:9SwiftDemo6CanvasCACycfc","target":"s:9SwiftDemo6CanvasC"},{"kind":"memberOf","source":"s:9SwiftDemo6CanvasC4drawyyAA5Shape_pF","target":"s:9SwiftDemo6CanvasC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderCACycfc","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC14withCompletionyyys6ResultOySSAA10ShapeErrorOGcF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4eachyyySiXEF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC6updateyyAA5PointVzF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC10modernOnlyyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC11legacyFetchyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC8oldFetchyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC9liveCountSivpZ","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC2idSivp","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC2idACSi_tcfc","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC4sameACyF","target":"s:9SwiftDemo7TrackerC"},{"kind":"conformsTo","source":"s:9SwiftDemo7PaletteC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC7strokesSivp","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteCACycfc","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC6strokeSiyF","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC11strokeLaterSiyYaF","target":"s:9SwiftDemo7PaletteC"},{"kind":"conformsTo","source":"s:9SwiftDemo8NotifierC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo8NotifierC","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierCACycfc","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC5countSivp","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC9subscribeyyySSYbcF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC7publishyySSF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC12publishLateryySSF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC5clearyyF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO6numberyACSdcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO6negateyA2CcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO5valueSdvp","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO3runyACyyccACmF","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO4idleyA2CmF","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV2idSivp","target":"s:9SwiftDemo3JobO6TicketV"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV2idAESi_tcfc","target":"s:9SwiftDemo3JobO6TicketV"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"c:objc(pl)NSObject","targetFallback":"ObjectiveC.NSObjectProtocol"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s7CVarArgP","targetFallback":"Swift.CVarArg"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s28CustomDebugStringConvertibleP","targetFallback":"Swift.CustomDebugStringConvertible"},{"kind":"inheritsFrom","source":"c:@M@SwiftDemo@objc(cs)Note","target":"c:objc(cs)NSObject","targetFallback":"ObjectiveC.NSObject"},{"kind":"memberOf","source":"s:9SwiftDemo4NoteC4textSSvp","target":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"memberOf","source":"s:9SwiftDemo4NoteC4textACSS_tcfc","target":"c:@M@SwiftDemo@objc(cs)Note"}]} \ No newline at end of file +{"metadata":{"formatVersion":{"major":0,"minor":6,"patch":0},"generator":"Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)"},"module":{"name":"SwiftDemo","platform":{"architecture":"arm64","environment":"simulator","vendor":"apple","operatingSystem":{"name":"ios","minimumVersion":{"major":15,"minor":0}}}},"symbols":[{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo7GreeterP","interfaceLanguage":"swift"},"pathComponents":["Greeter"],"names":{"title":"Greeter","navigator":[{"kind":"identifier","spelling":"Greeter"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeter"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeter"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":0,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Greeter","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":1,"character":9}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo0B0C","interfaceLanguage":"swift"},"pathComponents":["Demo"],"names":{"title":"Demo","navigator":[{"kind":"identifier","spelling":"Demo"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Demo"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Demo"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":4,"character":13}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo0B0CACycfc","interfaceLanguage":"swift"},"pathComponents":["Demo","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":5,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo0B0C5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Demo","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":6,"character":16}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo5PointV","interfaceLanguage":"swift"},"pathComponents":["Point"],"names":{"title":"Point","navigator":[{"kind":"identifier","spelling":"Point"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Point"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Point"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":9,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV1xSdvp","interfaceLanguage":"swift"},"pathComponents":["Point","x"],"names":{"title":"x","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":10,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV1ySdvp","interfaceLanguage":"swift"},"pathComponents":["Point","y"],"names":{"title":"y","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":11,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo5PointV1x1yACSd_Sdtcfc","interfaceLanguage":"swift"},"pathComponents":["Point","init(x:y:)"],"names":{"title":"init(x:y:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"x","declarationFragments":[{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"y","declarationFragments":[{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":12,"character":11}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor"],"names":{"title":"Flavor","navigator":[{"kind":"identifier","spelling":"Flavor"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Flavor"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Flavor"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo6FlavorO7vanillayA2CmF","interfaceLanguage":"swift"},"pathComponents":["Flavor","vanilla"],"names":{"title":"Flavor.vanilla","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vanilla"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vanilla"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":31}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo6FlavorO9chocolateyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Flavor","chocolate"],"names":{"title":"Flavor.chocolate","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"chocolate"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"chocolate"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":44}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Flavor","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo0B0C5greet4name5timesS2S_SitF","interfaceLanguage":"swift"},"pathComponents":["Demo","greet(name:times:)"],"names":{"title":"greet(name:times:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"times","declarationFragments":[{"kind":"identifier","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":1,"character":16}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo0B0C7versionSSvpZ","interfaceLanguage":"swift"},"pathComponents":["Demo","version"],"names":{"title":"version","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":5,"character":22}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV11descriptionSSvp","interfaceLanguage":"swift"},"pathComponents":["Point","description"],"names":{"title":"description","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":9,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV6lengthSdvp","interfaceLanguage":"swift"},"pathComponents":["Point","length"],"names":{"title":"length","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":10,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6FlavorO11descriptionSSvp","interfaceLanguage":"swift"},"pathComponents":["Flavor","description"],"names":{"title":"description","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.enum"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":14,"character":15}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style"],"names":{"title":"Polygon.Style","navigator":[{"kind":"identifier","spelling":"Style"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Style"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Style"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","solid"],"names":{"title":"Polygon.Style.solid","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"solid"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"solid"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":37}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","dashed"],"names":{"title":"Polygon.Style.dashed","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dashed"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dashed"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":44}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics"],"names":{"title":"Polygon.Metrics","navigator":[{"kind":"identifier","spelling":"Metrics"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Metrics"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Metrics"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":33,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics","perimeter"],"names":{"title":"perimeter","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":34,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics","init(perimeter:)"],"names":{"title":"init(perimeter:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"perimeter","declarationFragments":[{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":35,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5styleAC5StyleOvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","style"],"names":{"title":"style","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"style"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Style","preciseIdentifier":"s:9SwiftDemo7PolygonC5StyleO"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"style"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Style","preciseIdentifier":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":38,"character":15}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","metrics(side:)"],"names":{"title":"metrics(side:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"metrics"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"."},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"metrics"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":39,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF","interfaceLanguage":"swift"},"pathComponents":["starterWallet(for:)"],"names":{"title":"starterWallet(for:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"starterWallet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"for"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}]},"functionSignature":{"parameters":[{"name":"for","internalName":"owner","declarationFragments":[{"kind":"identifier","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"starterWallet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"for"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":4,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF","interfaceLanguage":"swift"},"pathComponents":["sum(of:)"],"names":{"title":"sum(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"amounts","declarationFragments":[{"kind":"identifier","spelling":"amounts"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"amounts"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":10,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4flipy0aB3Kit4CoinOAEF","interfaceLanguage":"swift"},"pathComponents":["flip(_:)"],"names":{"title":"flip(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flip"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]},"functionSignature":{"parameters":[{"name":"coin","declarationFragments":[{"kind":"identifier","spelling":"coin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flip"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"coin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":14,"character":12}}},{"kind":{"identifier":"swift.typealias","displayName":"Type Alias"},"identifier":{"precise":"s:9SwiftDemo5Scorea","interfaceLanguage":"swift"},"pathComponents":["Score"],"names":{"title":"Score","navigator":[{"kind":"identifier","spelling":"Score"}],"subHeading":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Score"}]},"declarationFragments":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Score"},{"kind":"text","spelling":" = "},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":25,"character":17}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9makeScorey0aB3Kit4PairVySSSiGSS_SitF","interfaceLanguage":"swift"},"pathComponents":["makeScore(_:_:)"],"names":{"title":"makeScore(_:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeScore"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Score","preciseIdentifier":"s:9SwiftDemo5Scorea"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"points","declarationFragments":[{"kind":"identifier","spelling":"points"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Score","preciseIdentifier":"s:9SwiftDemo5Scorea"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeScore"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"points"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Score","preciseIdentifier":"s:9SwiftDemo5Scorea"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":27,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8describeySS0aB3Kit4PairVySiSSGF","interfaceLanguage":"swift"},"pathComponents":["describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"pair","declarationFragments":[{"kind":"identifier","spelling":"pair"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":">"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"pair"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":28,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5boxedy0aB3Kit3BoxCyAC5MoneyVGAGF","interfaceLanguage":"swift"},"pathComponents":["boxed(_:)"],"names":{"title":"boxed(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"boxed"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":">"}]},"functionSignature":{"parameters":[{"name":"money","declarationFragments":[{"kind":"identifier","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":">"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"boxed"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":29,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8countBoxy0aB3Kit0D0CySiGSiF","interfaceLanguage":"swift"},"pathComponents":["countBox(_:)"],"names":{"title":"countBox(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countBox"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countBox"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":30,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo6settley0aB3Kit7OutcomeOySiGSiF","interfaceLanguage":"swift"},"pathComponents":["settle(_:)"],"names":{"title":"settle(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settle"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Outcome","preciseIdentifier":"s:12SwiftDemoKit7OutcomeO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Outcome","preciseIdentifier":"s:12SwiftDemoKit7OutcomeO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settle"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Outcome","preciseIdentifier":"s:12SwiftDemoKit7OutcomeO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":31,"character":12}}},{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo5ShapeP","interfaceLanguage":"swift"},"pathComponents":["Shape"],"names":{"title":"Shape","navigator":[{"kind":"identifier","spelling":"Shape"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Shape"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Shape"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Greeter","preciseIdentifier":"s:9SwiftDemo7GreeterP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":2,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5ShapeP4areaSdvp","interfaceLanguage":"swift"},"pathComponents":["Shape","area"],"names":{"title":"area","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":3,"character":8}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo5ShapeP5sidesSivpZ","interfaceLanguage":"swift"},"pathComponents":["Shape","sides"],"names":{"title":"sides","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":4,"character":15}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7PolygonC","interfaceLanguage":"swift"},"pathComponents":["Polygon"],"names":{"title":"Polygon","navigator":[{"kind":"identifier","spelling":"Polygon"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Polygon"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Polygon"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":7,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4nameSSvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","name"],"names":{"title":"name","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":8,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC11vertexCountSivp","interfaceLanguage":"swift"},"pathComponents":["Polygon","vertexCount"],"names":{"title":"vertexCount","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":9,"character":28}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC6sharedACvpZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","shared"],"names":{"title":"shared","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shared"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shared"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":10,"character":22}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","init(name:vertexCount:)"],"names":{"title":"init(name:vertexCount:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"vertexCount","declarationFragments":[{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":12,"character":11}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4nameACSgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","init(name:)"],"names":{"title":"init(name:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"convenience"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":17,"character":23}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":22,"character":14}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale2byySi_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":23,"character":14}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(x:y:)"],"names":{"title":"scale(x:y:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"x","declarationFragments":[{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"y","declarationFragments":[{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":24,"character":16}}},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4makeACyFZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","make()"],"names":{"title":"make()","subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"make"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"make"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":26,"character":22}}},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC8describeySSACSgFZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"polygon","declarationFragments":[{"kind":"identifier","spelling":"polygon"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"polygon"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":27,"character":23}}},{"kind":{"identifier":"swift.subscript","displayName":"Instance Subscript"},"identifier":{"precise":"s:9SwiftDemo7PolygonCyAA5PointVSicip","interfaceLanguage":"swift"},"pathComponents":["Polygon","subscript(_:)"],"names":{"title":"subscript(_:)","subHeading":[{"kind":"keyword","spelling":"subscript"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"parameters":[{"name":"index","declarationFragments":[{"kind":"identifier","spelling":"index"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"subscript"},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"index"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":29,"character":11}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6SquareC","interfaceLanguage":"swift"},"pathComponents":["Square"],"names":{"title":"Square","navigator":[{"kind":"identifier","spelling":"Square"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Square"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Square"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":34,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC4sideSdvp","interfaceLanguage":"swift"},"pathComponents":["Square","side"],"names":{"title":"side","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":35,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6SquareC4sideACSd_tcfc","interfaceLanguage":"swift"},"pathComponents":["Square","init(side:)"],"names":{"title":"init(side:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":37,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC4areaSdvp","interfaceLanguage":"swift"},"pathComponents":["Square","area"],"names":{"title":"area","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":42,"character":15}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC5sidesSivpZ","interfaceLanguage":"swift"},"pathComponents":["Square","sides"],"names":{"title":"sides","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":43,"character":22}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6SquareC5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Square","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":44,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6SquareC5scale2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Square","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"override"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":46,"character":25}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation"],"names":{"title":"Precipitation","navigator":[{"kind":"identifier","spelling":"Precipitation"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Precipitation"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Precipitation"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":50,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4rainyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","rain"],"names":{"title":"Precipitation.rain","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rain"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rain"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4snowyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","snow"],"names":{"title":"Precipitation.snow","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"snow"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"snow"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":15}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4noneyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","none"],"names":{"title":"Precipitation.none","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":21}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Precipitation","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO","interfaceLanguage":"swift"},"pathComponents":["ShapeError"],"names":{"title":"ShapeError","navigator":[{"kind":"identifier","spelling":"ShapeError"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ShapeError"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ShapeError"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":54,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO","interfaceLanguage":"swift"},"pathComponents":["ShapeError","localizedDescription"],"names":{"title":"localizedDescription","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localizedDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"docComment":{"module":"Foundation","lines":[{"text":"Retrieve the localized description for this error."}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localizedDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":8,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":10}},{"domain":"tvOS","introduced":{"major":9,"minor":0}},{"domain":"watchOS","introduced":{"major":2,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","invalidSide(_:)"],"names":{"title":"ShapeError.invalidSide(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":55,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","tooManySides(count:limit:)"],"names":{"title":"ShapeError.tooManySides(count:limit:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tooManySides"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tooManySides"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":56,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO7unknownyA2CmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","unknown"],"names":{"title":"ShapeError.unknown","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unknown"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unknown"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":57,"character":9}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO","interfaceLanguage":"swift"},"pathComponents":["Measurement"],"names":{"title":"Measurement","navigator":[{"kind":"identifier","spelling":"Measurement"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Measurement"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Measurement"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":60,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO6lengthyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","length(_:)"],"names":{"title":"Measurement.length(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":61,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","area(width:height:)"],"names":{"title":"Measurement.area(width:height:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":62,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4noneyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","none"],"names":{"title":"Measurement.none","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":63,"character":9}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit"],"names":{"title":"Measurement.Unit","navigator":[{"kind":"identifier","spelling":"Unit"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Unit"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Unit"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":65,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit","symbol"],"names":{"title":"symbol","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":66,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit","init(symbol:)"],"names":{"title":"init(symbol:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"symbol","declarationFragments":[{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":67,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO6isNoneSbvp","interfaceLanguage":"swift"},"pathComponents":["Measurement","isNone"],"names":{"title":"isNone","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isNone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isNone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":70,"character":15}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo4RingV","interfaceLanguage":"swift"},"pathComponents":["Ring"],"names":{"title":"Ring","navigator":[{"kind":"identifier","spelling":"Ring"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ring"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ring"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":76,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4RingV5innerAA5PointVvp","interfaceLanguage":"swift"},"pathComponents":["Ring","inner"],"names":{"title":"inner","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":77,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4RingV5outerAA5PointVvp","interfaceLanguage":"swift"},"pathComponents":["Ring","outer"],"names":{"title":"outer","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":78,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc","interfaceLanguage":"swift"},"pathComponents":["Ring","init(inner:outer:)"],"names":{"title":"init(inner:outer:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"inner","declarationFragments":[{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},{"name":"outer","declarationFragments":[{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":80,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo4RingV6expand2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Ring","expand(by:)"],"names":{"title":"expand(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"delta","declarationFragments":[{"kind":"identifier","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"mutating"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":85,"character":25}}},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:9SwiftDemo4RingV1poiyA2C_ACtFZ","interfaceLanguage":"swift"},"pathComponents":["Ring","+(_:_:)"],"names":{"title":"+(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"+"},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"+"},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":90,"character":23}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter"],"names":{"title":"Counter","navigator":[{"kind":"identifier","spelling":"Counter"}],"subHeading":[{"kind":"keyword","spelling":"actor"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Counter"}]},"declarationFragments":[{"kind":"keyword","spelling":"actor"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Counter"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":95,"character":13}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","withSerialExecutor(_:)"],"names":{"title":"withSerialExecutor(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">((any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Perform an operation with the actor's ``SerialExecutor``."},{"text":""},{"text":"This converts the actor's ``Actor/unownedExecutor`` to a ``SerialExecutor`` while"},{"text":"retaining the actor for the duration of the operation. This is to ensure the lifetime"},{"text":"of the executor while performing the operation."}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1},{"name":"E","index":1,"depth":1}],"constraints":[{"kind":"conformance","lhs":"E","rhs":"Error","rhsPrecise":"s:s5ErrorP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Error","preciseIdentifier":"s:s5ErrorP"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : ~Copyable"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","withSerialExecutor(_:)"],"names":{"title":"withSerialExecutor(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"keyword","spelling":"nonisolated(nonsending)"},{"kind":"text","spelling":" (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Perform an operation with the actor's ``SerialExecutor``."},{"text":""},{"text":"This converts the actor's ``Actor/unownedExecutor`` to a ``SerialExecutor`` while"},{"text":"retaining the actor for the duration of the operation. This is to ensure the lifetime"},{"text":"of the executor while performing the operation."}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1},{"name":"E","index":1,"depth":1}],"constraints":[{"kind":"conformance","lhs":"E","rhs":"Error","rhsPrecise":"s:s5ErrorP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"nonisolated(nonsending)"},{"kind":"text","spelling":" (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Error","preciseIdentifier":"s:s5ErrorP"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : ~Copyable"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","preconditionIsolated(_:file:line:)"],"names":{"title":"preconditionIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preconditionIsolated"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":")"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Stops program execution if the current task is not executing on this"},{"text":"actor's serial executor."},{"text":""},{"text":"This function's effect varies depending on the build flag used:"},{"text":""},{"text":"* In playgrounds and `-Onone` builds (the default for Xcode's Debug"},{"text":" configuration), stops program execution in a debuggable state after"},{"text":" printing `message`."},{"text":""},{"text":"* In `-O` builds (the default for Xcode's Release configuration), stops"},{"text":" program execution."},{"text":""},{"text":"- Note: Because this check is performed against the actor's serial executor,"},{"text":" if another actor uses the same serial executor--by using"},{"text":" that actor's serial executor as its own ``Actor/unownedExecutor``--this"},{"text":" check will succeed. From a concurrency safety perspective, the"},{"text":" serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - message: The message to print if the assertion fails."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": () -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"text","spelling":"@backDeployed(before: macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0)\n"},{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preconditionIsolated"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" = String(), "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","assertIsolated(_:file:line:)"],"names":{"title":"assertIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assertIsolated"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":")"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Stops program execution if the current task is not executing on this"},{"text":"actor's serial executor."},{"text":""},{"text":"This function's effect varies depending on the build flag used:"},{"text":""},{"text":"* In playgrounds and `-Onone` builds (the default for Xcode's Debug"},{"text":" configuration), stops program execution in a debuggable state after"},{"text":" printing `message`."},{"text":""},{"text":"* In `-O` builds (the default for Xcode's Release configuration),"},{"text":" the isolation check is not performed and there are no effects."},{"text":""},{"text":"- Note: This check is performed against the actor's serial executor,"},{"text":" meaning that / if another actor uses the same serial executor--by using"},{"text":" that actor's serial executor as its own ``Actor/unownedExecutor``--this"},{"text":" check will succeed , as from a concurrency safety perspective, the"},{"text":" serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - message: The message to print if the assertion fails."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": () -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"text","spelling":"@backDeployed(before: macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0)\n"},{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assertIsolated"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" = String(), "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","assumeIsolated(_:file:line:)"],"names":{"title":"assumeIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assumeIsolated"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">(("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"rethrows"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Assume that the current task is executing on this actor's serial executor,"},{"text":"or stop program execution otherwise."},{"text":""},{"text":"You call this method to *assume and verify* that the currently"},{"text":"executing synchronous function is actually executing on the serial"},{"text":"executor of this actor."},{"text":""},{"text":"If that is the case, the operation is invoked with an `isolated` version"},{"text":"of the actor, allowing synchronous access to actor local state without"},{"text":"hopping through asynchronous boundaries."},{"text":""},{"text":"If the current context is not running on the actor's serial executor, or"},{"text":"if the actor is a reference to a remote actor, this method will crash"},{"text":"with a fatal error (similar to ``preconditionIsolated(_:file:line:)``)."},{"text":""},{"text":"Note that this check is performed against the passed in actor's serial"},{"text":"executor, meaning that if another actor uses the same serial executor--by"},{"text":"using that actor's ``Actor/unownedExecutor`` as its own"},{"text":"``Actor/unownedExecutor``--this check will succeed, as from a concurrency"},{"text":"safety perspective, the serial executor guarantees mutual exclusion of"},{"text":"those two actors."},{"text":""},{"text":"This method can only be used from synchronous functions, as asynchronous"},{"text":"functions should instead perform a normal method call to the actor, which"},{"text":"will hop task execution to the target actor if necessary."},{"text":""},{"text":"- Note: This check is performed against the actor's serial executor,"},{"text":" meaning that / if another actor uses the same serial executor--by using"},{"text":" another actor's executor as its own ``Actor/unownedExecutor``"},{"text":" --this check will succeed , as from a concurrency safety perspective,"},{"text":" the serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - operation: the operation that will be executed if the current context"},{"text":" is executing on the actors serial executor."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."},{"text":"- Returns: the return value of the `operation`"},{"text":"- Throws: rethrows the `Error` thrown by the operation if it threw"}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1}],"constraints":[{"kind":"conformance","lhs":"T","rhs":"Sendable","rhsPrecise":"s:s8SendableP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assumeIsolated"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"rethrows"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Sendable","preciseIdentifier":"s:s8SendableP"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7CounterC5valueSivp","interfaceLanguage":"swift"},"pathComponents":["Counter","value"],"names":{"title":"value","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":96,"character":28}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7CounterC4stepSivp","interfaceLanguage":"swift"},"pathComponents":["Counter","step"],"names":{"title":"step","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"step"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"step"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":97,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7CounterCACycfc","interfaceLanguage":"swift"},"pathComponents":["Counter","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":98,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7CounterC9incrementSiyF","interfaceLanguage":"swift"},"pathComponents":["Counter","increment()"],"names":{"title":"increment()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"increment"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"increment"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":99,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7CounterC5labelSSyF","interfaceLanguage":"swift"},"pathComponents":["Counter","label()"],"names":{"title":"label()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":103,"character":28}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6CanvasC","interfaceLanguage":"swift"},"pathComponents":["Canvas"],"names":{"title":"Canvas","navigator":[{"kind":"identifier","spelling":"Canvas"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Canvas"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Canvas"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":107,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6CanvasCACycfc","interfaceLanguage":"swift"},"pathComponents":["Canvas","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":108,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6CanvasC4drawyyAA5Shape_pF","interfaceLanguage":"swift"},"pathComponents":["Canvas","draw(_:)"],"names":{"title":"draw(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draw"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"shape","declarationFragments":[{"kind":"identifier","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draw"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":109,"character":16}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6LoaderC","interfaceLanguage":"swift"},"pathComponents":["Loader"],"names":{"title":"Loader","navigator":[{"kind":"identifier","spelling":"Loader"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Loader"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Loader"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":112,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6LoaderCACycfc","interfaceLanguage":"swift"},"pathComponents":["Loader","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":113,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF","interfaceLanguage":"swift"},"pathComponents":["Loader","load(path:)"],"names":{"title":"load(path:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"load"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"functionSignature":{"parameters":[{"name":"path","declarationFragments":[{"kind":"identifier","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"load"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":115,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF","interfaceLanguage":"swift"},"pathComponents":["Loader","fetch(url:)"],"names":{"title":"fetch(url:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fetch"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"url","declarationFragments":[{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fetch"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":116,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF","interfaceLanguage":"swift"},"pathComponents":["Loader","wait(seconds:)"],"names":{"title":"wait(seconds:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wait"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"}]},"functionSignature":{"parameters":[{"name":"seconds","declarationFragments":[{"kind":"identifier","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wait"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":117,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF","interfaceLanguage":"swift"},"pathComponents":["Loader","transform(_:)"],"names":{"title":"transform(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transform"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"}]},"functionSignature":{"parameters":[{"name":"shape","declarationFragments":[{"kind":"identifier","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":0}],"constraints":[{"kind":"conformance","lhs":"T","rhs":"Shape","rhsPrecise":"s:9SwiftDemo5ShapeP"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transform"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":119,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF","interfaceLanguage":"swift"},"pathComponents":["Loader","first(of:)"],"names":{"title":"first(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Element"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"items","declarationFragments":[{"kind":"identifier","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Element"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"parameters":[{"name":"Element","index":0,"depth":0}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Element"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":120,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC14withCompletionyyys6ResultOySSAA10ShapeErrorOGcF","interfaceLanguage":"swift"},"pathComponents":["Loader","withCompletion(_:)"],"names":{"title":"withCompletion(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withCompletion"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"completion","declarationFragments":[{"kind":"identifier","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withCompletion"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":122,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4eachyyySiXEF","interfaceLanguage":"swift"},"pathComponents":["Loader","each(_:)"],"names":{"title":"each(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"each"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"body","declarationFragments":[{"kind":"identifier","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"each"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":123,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF","interfaceLanguage":"swift"},"pathComponents":["Loader","lookup(table:key:)"],"names":{"title":"lookup(table:key:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lookup"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"table","declarationFragments":[{"kind":"identifier","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},{"name":"key","declarationFragments":[{"kind":"identifier","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lookup"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":125,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC6updateyyAA5PointVzF","interfaceLanguage":"swift"},"pathComponents":["Loader","update(_:)"],"names":{"title":"update(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"point","declarationFragments":[{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"point"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":127,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC10modernOnlyyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","modernOnly()"],"names":{"title":"modernOnly()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"modernOnly"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"modernOnly"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":16,"minor":0}}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":130,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC11legacyFetchyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","legacyFetch()"],"names":{"title":"legacyFetch()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"legacyFetch"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"legacyFetch"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"*","message":"Use fetch(url:) instead","isUnconditionallyDeprecated":true}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":133,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC8oldFetchyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","oldFetch()"],"names":{"title":"oldFetch()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"oldFetch"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"oldFetch"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":15,"minor":0},"deprecated":{"major":17,"minor":0},"renamed":"fetch(url:)"}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":136,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo16makeDefaultPointAA0E0VyF","interfaceLanguage":"swift"},"pathComponents":["makeDefaultPoint()"],"names":{"title":"makeDefaultPoint()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeDefaultPoint"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeDefaultPoint"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":139,"character":12}}},{"kind":{"identifier":"swift.var","displayName":"Global Variable"},"identifier":{"precise":"s:9SwiftDemo13defaultFlavorAA0D0Ovp","interfaceLanguage":"swift"},"pathComponents":["defaultFlavor"],"names":{"title":"defaultFlavor","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"defaultFlavor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"defaultFlavor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":140,"character":11}}},{"kind":{"identifier":"swift.var","displayName":"Global Variable"},"identifier":{"precise":"s:9SwiftDemo13globalCounterSivp","interfaceLanguage":"swift"},"pathComponents":["globalCounter"],"names":{"title":"globalCounter","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"globalCounter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"globalCounter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":141,"character":11}}},{"kind":{"identifier":"swift.typealias","displayName":"Type Alias"},"identifier":{"precise":"s:9SwiftDemo11Coordinatesa","interfaceLanguage":"swift"},"pathComponents":["Coordinates"],"names":{"title":"Coordinates","navigator":[{"kind":"identifier","spelling":"Coordinates"}],"subHeading":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coordinates"}]},"declarationFragments":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coordinates"},{"kind":"text","spelling":" = (latitude"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", longitude"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":142,"character":17}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo11checkedSideyS2dKF","interfaceLanguage":"swift"},"pathComponents":["checkedSide(_:)"],"names":{"title":"checkedSide(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checkedSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checkedSide"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":5,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8echoInt8ys0D0VADF","interfaceLanguage":"swift"},"pathComponents":["echoInt8(_:)"],"names":{"title":"echoInt8(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoInt8"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoInt8"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":10,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10echoUInt64ys0D0VADF","interfaceLanguage":"swift"},"pathComponents":["echoUInt64(_:)"],"names":{"title":"echoUInt64(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoUInt64"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoUInt64"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":11,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10largestIntSiyF","interfaceLanguage":"swift"},"pathComponents":["largestInt()"],"names":{"title":"largestInt()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"largestInt"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"largestInt"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":12,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5shoutySSSgACF","interfaceLanguage":"swift"},"pathComponents":["shout(_:)"],"names":{"title":"shout(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":13,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7TrackerC","interfaceLanguage":"swift"},"pathComponents":["Tracker"],"names":{"title":"Tracker","navigator":[{"kind":"identifier","spelling":"Tracker"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Tracker"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Tracker"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":15,"character":19}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo7TrackerC9liveCountSivpZ","interfaceLanguage":"swift"},"pathComponents":["Tracker","liveCount"],"names":{"title":"liveCount","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"liveCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"liveCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":16,"character":35}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7TrackerC2idSivp","interfaceLanguage":"swift"},"pathComponents":["Tracker","id"],"names":{"title":"id","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":17,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7TrackerC2idACSi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Tracker","init(id:)"],"names":{"title":"init(id:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":19,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7TrackerC4sameACyF","interfaceLanguage":"swift"},"pathComponents":["Tracker","same()"],"names":{"title":"same()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":26,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo11delayedEcho_5afterS2S_SdtYaKF","interfaceLanguage":"swift"},"pathComponents":["delayedEcho(_:after:)"],"names":{"title":"delayedEcho(_:after:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delayedEcho"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"after","internalName":"seconds","declarationFragments":[{"kind":"identifier","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delayedEcho"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":29,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo16makeTrackerLater2idAA0D0CSi_tYaF","interfaceLanguage":"swift"},"pathComponents":["makeTrackerLater(id:)"],"names":{"title":"makeTrackerLater(id:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeTrackerLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeTrackerLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":35,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7PaletteC","interfaceLanguage":"swift"},"pathComponents":["Palette"],"names":{"title":"Palette","navigator":[{"kind":"identifier","spelling":"Palette"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Palette"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Palette"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":41,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PaletteC7strokesSivp","interfaceLanguage":"swift"},"pathComponents":["Palette","strokes"],"names":{"title":"strokes","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":42,"character":28}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PaletteCACycfc","interfaceLanguage":"swift"},"pathComponents":["Palette","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":43,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PaletteC6strokeSiyF","interfaceLanguage":"swift"},"pathComponents":["Palette","stroke()"],"names":{"title":"stroke()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stroke"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stroke"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":44,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PaletteC11strokeLaterSiyYaF","interfaceLanguage":"swift"},"pathComponents":["Palette","strokeLater()"],"names":{"title":"strokeLater()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokeLater"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokeLater"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":48,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5namesySaySSGSiF","interfaceLanguage":"swift"},"pathComponents":["names(_:)"],"names":{"title":"names(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":54,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5totalySdSaySdGF","interfaceLanguage":"swift"},"pathComponents":["total(_:)"],"names":{"title":"total(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"total"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"values","declarationFragments":[{"kind":"identifier","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"total"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":55,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8centroid2ofAA5PointVSayAEG_tF","interfaceLanguage":"swift"},"pathComponents":["centroid(of:)"],"names":{"title":"centroid(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"centroid"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"points","declarationFragments":[{"kind":"identifier","spelling":"points"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"centroid"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"points"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":56,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8mirroredySaySaySiGGADF","interfaceLanguage":"swift"},"pathComponents":["mirrored(_:)"],"names":{"title":"mirrored(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mirrored"},{"kind":"text","spelling":"([["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]) -> [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]},"functionSignature":{"parameters":[{"name":"grid","declarationFragments":[{"kind":"identifier","spelling":"grid"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]}],"returns":[{"kind":"text","spelling":"[["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mirrored"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"grid"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]) -> [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":57,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10wordCountsySDySSSiGSaySSGF","interfaceLanguage":"swift"},"pathComponents":["wordCounts(_:)"],"names":{"title":"wordCounts(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wordCounts"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"words","declarationFragments":[{"kind":"identifier","spelling":"words"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wordCounts"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"words"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":58,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7lengthsySDySSSiGSDyS2SGF","interfaceLanguage":"swift"},"pathComponents":["lengths(_:)"],"names":{"title":"lengths(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lengths"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"table","declarationFragments":[{"kind":"identifier","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lengths"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":61,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8trackersySayAA7TrackerCGSaySiGF","interfaceLanguage":"swift"},"pathComponents":["trackers(_:)"],"names":{"title":"trackers(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"trackers"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"ids","declarationFragments":[{"kind":"identifier","spelling":"ids"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"trackers"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"ids"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":62,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10allFlavorsSayAA6FlavorOGyF","interfaceLanguage":"swift"},"pathComponents":["allFlavors()"],"names":{"title":"allFlavors()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allFlavors"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allFlavors"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":63,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7nextDay5after10Foundation4DateVAF_tF","interfaceLanguage":"swift"},"pathComponents":["nextDay(after:)"],"names":{"title":"nextDay(after:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextDay"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]},"functionSignature":{"parameters":[{"name":"after","internalName":"date","declarationFragments":[{"kind":"identifier","spelling":"date"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextDay"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"date"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":64,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF","interfaceLanguage":"swift"},"pathComponents":["host(of:)"],"names":{"title":"host(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"host"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"url","declarationFragments":[{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"host"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":65,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7resolve_7against10Foundation3URLVSS_AFtF","interfaceLanguage":"swift"},"pathComponents":["resolve(_:against:)"],"names":{"title":"resolve(_:against:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resolve"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"against"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]},"functionSignature":{"parameters":[{"name":"path","declarationFragments":[{"kind":"identifier","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"against","internalName":"base","declarationFragments":[{"kind":"identifier","spelling":"base"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resolve"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"against"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"base"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":66,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8checksumySi10Foundation4DataVF","interfaceLanguage":"swift"},"pathComponents":["checksum(_:)"],"names":{"title":"checksum(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checksum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"parameters":[{"name":"data","declarationFragments":[{"kind":"identifier","spelling":"data"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checksum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"data"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":67,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4rampy10Foundation4DataVSiF","interfaceLanguage":"swift"},"pathComponents":["ramp(_:)"],"names":{"title":"ramp(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ramp"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ramp"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":68,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10namesLaterySaySSGSiYaF","interfaceLanguage":"swift"},"pathComponents":["namesLater(_:)"],"names":{"title":"namesLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"namesLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"namesLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":69,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9countdown4from_ySi_ySi_SbtXEtF","interfaceLanguage":"swift"},"pathComponents":["countdown(from:_:)"],"names":{"title":"countdown(from:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countdown"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"from"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"from","internalName":"start","declarationFragments":[{"kind":"identifier","spelling":"start"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},{"name":"tick","declarationFragments":[{"kind":"identifier","spelling":"tick"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countdown"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"from"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"start"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"tick"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":74,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10greetLater_10completionySSSg_yADYbctF","interfaceLanguage":"swift"},"pathComponents":["greetLater(_:completion:)"],"names":{"title":"greetLater(_:completion:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},{"name":"completion","declarationFragments":[{"kind":"identifier","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":80,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo8NotifierC","interfaceLanguage":"swift"},"pathComponents":["Notifier"],"names":{"title":"Notifier","navigator":[{"kind":"identifier","spelling":"Notifier"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Notifier"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Notifier"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":86,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo8NotifierCACycfc","interfaceLanguage":"swift"},"pathComponents":["Notifier","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":88,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo8NotifierC5countSivp","interfaceLanguage":"swift"},"pathComponents":["Notifier","count"],"names":{"title":"count","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":89,"character":15}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC9subscribeyyySSYbcF","interfaceLanguage":"swift"},"pathComponents":["Notifier","subscribe(_:)"],"names":{"title":"subscribe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribe"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"handler","declarationFragments":[{"kind":"identifier","spelling":"handler"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"handler"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":90,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC7publishyySSF","interfaceLanguage":"swift"},"pathComponents":["Notifier","publish(_:)"],"names":{"title":"publish(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publish"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publish"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":91,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC12publishLateryySSF","interfaceLanguage":"swift"},"pathComponents":["Notifier","publishLater(_:)"],"names":{"title":"publishLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publishLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publishLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":92,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC5clearyyF","interfaceLanguage":"swift"},"pathComponents":["Notifier","clear()"],"names":{"title":"clear()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":96,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4area2ofSdAA11MeasurementO_tF","interfaceLanguage":"swift"},"pathComponents":["area(of:)"],"names":{"title":"area(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"measurement","declarationFragments":[{"kind":"identifier","spelling":"measurement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"measurement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":99,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7measure_2byAA11MeasurementOSd_SdSgtF","interfaceLanguage":"swift"},"pathComponents":["measure(_:by:)"],"names":{"title":"measure(_:by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measure"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"functionSignature":{"parameters":[{"name":"width","declarationFragments":[{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"by","internalName":"height","declarationFragments":[{"kind":"identifier","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":106,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12measurementsSayAA11MeasurementOGyF","interfaceLanguage":"swift"},"pathComponents":["measurements()"],"names":{"title":"measurements()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measurements"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measurements"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":111,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF","interfaceLanguage":"swift"},"pathComponents":["measureLater(_:)"],"names":{"title":"measureLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measureLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"functionSignature":{"parameters":[{"name":"width","declarationFragments":[{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measureLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":113,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9onMeasureyyyAA11MeasurementOXEF","interfaceLanguage":"swift"},"pathComponents":["onMeasure(_:)"],"names":{"title":"onMeasure(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onMeasure"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"body","declarationFragments":[{"kind":"identifier","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onMeasure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":118,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7explainySSAA10ShapeErrorOF","interfaceLanguage":"swift"},"pathComponents":["explain(_:)"],"names":{"title":"explain(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"explain"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"error","declarationFragments":[{"kind":"identifier","spelling":"error"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"explain"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"error"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":120,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7FormulaO","interfaceLanguage":"swift"},"pathComponents":["Formula"],"names":{"title":"Formula","navigator":[{"kind":"identifier","spelling":"Formula"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Formula"}]},"declarationFragments":[{"kind":"keyword","spelling":"indirect"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Formula"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":128,"character":21}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO6numberyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","number(_:)"],"names":{"title":"Formula.number(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"number"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"number"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":129,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","sum(_:_:)"],"names":{"title":"Formula.sum(_:_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":130,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO6negateyA2CcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","negate(_:)"],"names":{"title":"Formula.negate(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"negate"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"negate"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":131,"character":9}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7FormulaO5valueSdvp","interfaceLanguage":"swift"},"pathComponents":["Formula","value"],"names":{"title":"value","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":133,"character":15}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8simplifyyAA7FormulaOADF","interfaceLanguage":"swift"},"pathComponents":["simplify(_:)"],"names":{"title":"simplify(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simplify"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]},"functionSignature":{"parameters":[{"name":"formula","declarationFragments":[{"kind":"identifier","spelling":"formula"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simplify"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"formula"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":142,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7PayloadO","interfaceLanguage":"swift"},"pathComponents":["Payload"],"names":{"title":"Payload","navigator":[{"kind":"identifier","spelling":"Payload"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Payload"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Payload"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":144,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","tracker(_:)"],"names":{"title":"Payload.tracker(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tracker"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tracker"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":145,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","point(_:)"],"names":{"title":"Payload.point(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":146,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","flavor(_:)"],"names":{"title":"Payload.flavor(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flavor"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flavor"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":147,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","maybe(_:)"],"names":{"title":"Payload.maybe(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maybe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?)"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maybe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?)"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":148,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","names(_:)"],"names":{"title":"Payload.names(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":149,"character":9}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4echoyAA7PayloadOADF","interfaceLanguage":"swift"},"pathComponents":["echo(_:)"],"names":{"title":"echo(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echo"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]},"functionSignature":{"parameters":[{"name":"payload","declarationFragments":[{"kind":"identifier","spelling":"payload"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echo"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"payload"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":152,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo3JobO","interfaceLanguage":"swift"},"pathComponents":["Job"],"names":{"title":"Job","navigator":[{"kind":"identifier","spelling":"Job"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Job"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Job"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":155,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo3JobO3runyACyyccACmF","interfaceLanguage":"swift"},"pathComponents":["Job","run(_:)"],"names":{"title":"Job.run(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"run"},{"kind":"text","spelling":"(() -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"run"},{"kind":"text","spelling":"(() -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":156,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo3JobO4idleyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Job","idle"],"names":{"title":"Job.idle","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"idle"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"idle"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":157,"character":9}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket"],"names":{"title":"Job.Ticket","navigator":[{"kind":"identifier","spelling":"Ticket"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ticket"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ticket"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":159,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV2idSivp","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket","id"],"names":{"title":"id","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":160,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV2idAESi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket","init(id:)"],"names":{"title":"init(id:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":161,"character":15}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4bumpyySizF","interfaceLanguage":"swift"},"pathComponents":["bump(_:)"],"names":{"title":"bump(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bump"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bump"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":165,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo6append_2toySS_SaySSGztF","interfaceLanguage":"swift"},"pathComponents":["append(_:to:)"],"names":{"title":"append(_:to:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"append"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}]},"functionSignature":{"parameters":[{"name":"word","declarationFragments":[{"kind":"identifier","spelling":"word"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"to","internalName":"words","declarationFragments":[{"kind":"identifier","spelling":"words"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"append"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"word"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"words"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":166,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5halveyySizKF","interfaceLanguage":"swift"},"pathComponents":["halve(_:)"],"names":{"title":"halve(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"halve"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"halve"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":167,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5clearyySSSgzF","interfaceLanguage":"swift"},"pathComponents":["clear(_:)"],"names":{"title":"clear(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?)"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?)"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":171,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12swapTrackersyyAA7TrackerCz_ADztF","interfaceLanguage":"swift"},"pathComponents":["swapTrackers(_:_:)"],"names":{"title":"swapTrackers(_:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapTrackers"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"a","declarationFragments":[{"kind":"identifier","spelling":"a"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},{"name":"b","declarationFragments":[{"kind":"identifier","spelling":"b"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapTrackers"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"a"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"b"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":172,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8describeySSSo6UIViewCF","interfaceLanguage":"swift"},"pathComponents":["describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"view","declarationFragments":[{"kind":"identifier","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":5,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9makeLabelySo7UILabelCSSF","interfaceLanguage":"swift"},"pathComponents":["makeLabel(_:)"],"names":{"title":"makeLabel(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeLabel"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeLabel"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":7,"character":23}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF","interfaceLanguage":"swift"},"pathComponents":["tags(_:)"],"names":{"title":"tags(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"views","declarationFragments":[{"kind":"identifier","spelling":"views"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"views"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":13,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF","interfaceLanguage":"swift"},"pathComponents":["firstSubview(of:)"],"names":{"title":"firstSubview(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"firstSubview"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"view","declarationFragments":[{"kind":"identifier","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"firstSubview"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":15,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"c:@M@SwiftDemo@objc(cs)Note","interfaceLanguage":"swift"},"pathComponents":["Note"],"names":{"title":"Note","navigator":[{"kind":"identifier","spelling":"Note"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":17,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4NoteC4textSSvp","interfaceLanguage":"swift"},"pathComponents":["Note","text"],"names":{"title":"text","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":18,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo4NoteC4textACSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Note","init(text:)"],"names":{"title":"init(text:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":19,"character":11}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8makeNoteyAA0D0CSSF","interfaceLanguage":"swift"},"pathComponents":["makeNote(_:)"],"names":{"title":"makeNote(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeNote"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeNote"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":22,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4text2ofSSAA4NoteC_tF","interfaceLanguage":"swift"},"pathComponents":["text(of:)"],"names":{"title":"text(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"note","declarationFragments":[{"kind":"identifier","spelling":"note"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"note"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":23,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9noteLateryAA4NoteCSSYaF","interfaceLanguage":"swift"},"pathComponents":["noteLater(_:)"],"names":{"title":"noteLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"noteLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"noteLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":25,"character":12}}}],"relationships":[{"kind":"requirementOf","source":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","target":"s:9SwiftDemo7GreeterP"},{"kind":"conformsTo","source":"s:9SwiftDemo0B0C","target":"s:9SwiftDemo7GreeterP"},{"kind":"memberOf","source":"s:9SwiftDemo0B0CACycfc","target":"s:9SwiftDemo0B0C"},{"kind":"memberOf","source":"s:9SwiftDemo0B0C5greet4nameS2S_tF","target":"s:9SwiftDemo0B0C","sourceOrigin":{"identifier":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","displayName":"Greeter.greet(name:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1xSdvp","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1ySdvp","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1x1yACSd_Sdtcfc","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO7vanillayA2CmF","target":"s:9SwiftDemo6FlavorO"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO9chocolateyA2CmF","target":"s:9SwiftDemo6FlavorO"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:9SwiftDemo0B0C5greet4name5timesS2S_SitF","target":"s:9SwiftDemo0B0C"},{"kind":"memberOf","source":"s:9SwiftDemo0B0C7versionSSvpZ","target":"s:9SwiftDemo0B0C"},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s9EscapableP","targetFallback":"Swift.Escapable"},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s8CopyableP","targetFallback":"Swift.Copyable"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV11descriptionSSvp","target":"s:9SwiftDemo5PointV","sourceOrigin":{"identifier":"s:s23CustomStringConvertibleP11descriptionSSvp","displayName":"CustomStringConvertible.description"}},{"kind":"memberOf","source":"s:9SwiftDemo5PointV6lengthSdvp","target":"s:9SwiftDemo5PointV"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s9EscapableP","targetFallback":"Swift.Escapable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s8CopyableP","targetFallback":"Swift.Copyable"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO11descriptionSSvp","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:s23CustomStringConvertibleP11descriptionSSvp","displayName":"CustomStringConvertible.description"}},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF","target":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF","target":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp","target":"s:9SwiftDemo7PolygonC7MetricsV"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc","target":"s:9SwiftDemo7PolygonC7MetricsV"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5styleAC5StyleOvp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"conformsTo","source":"s:9SwiftDemo5ShapeP","target":"s:9SwiftDemo7GreeterP"},{"kind":"requirementOf","source":"s:9SwiftDemo5ShapeP4areaSdvp","target":"s:9SwiftDemo5ShapeP"},{"kind":"requirementOf","source":"s:9SwiftDemo5ShapeP5sidesSivpZ","target":"s:9SwiftDemo5ShapeP"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4nameSSvp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC11vertexCountSivp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC6sharedACvpZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4nameACSgSS_tcfc","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale2byySd_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale2byySi_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4makeACyFZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC8describeySSACSgFZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonCyAA5PointVSicip","target":"s:9SwiftDemo7PolygonC"},{"kind":"conformsTo","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo5ShapeP"},{"kind":"conformsTo","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo7GreeterP"},{"kind":"inheritsFrom","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4sideSdvp","target":"s:9SwiftDemo6SquareC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4sideACSd_tcfc","target":"s:9SwiftDemo6SquareC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4areaSdvp","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo5ShapeP4areaSdvp","displayName":"Shape.area"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5sidesSivpZ","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo5ShapeP5sidesSivpZ","displayName":"Shape.sides"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5greet4nameS2S_tF","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","displayName":"Greeter.greet(name:)"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5scale2byySd_tF","target":"s:9SwiftDemo6SquareC"},{"kind":"overrides","source":"s:9SwiftDemo6SquareC5scale2byySd_tF","target":"s:9SwiftDemo7PolygonC5scale2byySd_tF"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4rainyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4snowyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4noneyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO","target":"s:9SwiftDemo10ShapeErrorO","sourceOrigin":{"identifier":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp","displayName":"Error.localizedDescription"}},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s5ErrorP","targetFallback":"Swift.Error"},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO7unknownyA2CmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO6lengthyACSdcACmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4noneyA2CmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp","target":"s:9SwiftDemo11MeasurementO4UnitV"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc","target":"s:9SwiftDemo11MeasurementO4UnitV"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO6isNoneSbvp","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5innerAA5PointVvp","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5outerAA5PointVvp","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV6expand2byySd_tF","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV1poiyA2C_ACtFZ","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF","displayName":"Actor.withSerialExecutor(_:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF","displayName":"Actor.withSerialExecutor(_:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF","displayName":"Actor.preconditionIsolated(_:file:line:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF","displayName":"Actor.assertIsolated(_:file:line:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF","displayName":"Actor.assumeIsolated(_:file:line:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:ScA","targetFallback":"_Concurrency.Actor"},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC5valueSivp","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC4stepSivp","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterCACycfc","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC9incrementSiyF","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC5labelSSyF","target":"s:9SwiftDemo7CounterC"},{"kind":"conformsTo","source":"s:9SwiftDemo6CanvasC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"memberOf","source":"s:9SwiftDemo6CanvasCACycfc","target":"s:9SwiftDemo6CanvasC"},{"kind":"memberOf","source":"s:9SwiftDemo6CanvasC4drawyyAA5Shape_pF","target":"s:9SwiftDemo6CanvasC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderCACycfc","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC14withCompletionyyys6ResultOySSAA10ShapeErrorOGcF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4eachyyySiXEF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC6updateyyAA5PointVzF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC10modernOnlyyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC11legacyFetchyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC8oldFetchyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC9liveCountSivpZ","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC2idSivp","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC2idACSi_tcfc","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC4sameACyF","target":"s:9SwiftDemo7TrackerC"},{"kind":"conformsTo","source":"s:9SwiftDemo7PaletteC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC7strokesSivp","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteCACycfc","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC6strokeSiyF","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC11strokeLaterSiyYaF","target":"s:9SwiftDemo7PaletteC"},{"kind":"conformsTo","source":"s:9SwiftDemo8NotifierC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo8NotifierC","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierCACycfc","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC5countSivp","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC9subscribeyyySSYbcF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC7publishyySSF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC12publishLateryySSF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC5clearyyF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO6numberyACSdcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO6negateyA2CcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO5valueSdvp","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO3runyACyyccACmF","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO4idleyA2CmF","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV2idSivp","target":"s:9SwiftDemo3JobO6TicketV"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV2idAESi_tcfc","target":"s:9SwiftDemo3JobO6TicketV"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"c:objc(pl)NSObject","targetFallback":"ObjectiveC.NSObjectProtocol"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s7CVarArgP","targetFallback":"Swift.CVarArg"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s28CustomDebugStringConvertibleP","targetFallback":"Swift.CustomDebugStringConvertible"},{"kind":"inheritsFrom","source":"c:@M@SwiftDemo@objc(cs)Note","target":"c:objc(cs)NSObject","targetFallback":"ObjectiveC.NSObject"},{"kind":"memberOf","source":"s:9SwiftDemo4NoteC4textSSvp","target":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"memberOf","source":"s:9SwiftDemo4NoteC4textACSS_tcfc","target":"c:@M@SwiftDemo@objc(cs)Note"}]} \ No newline at end of file diff --git a/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemoKit.symbols.json b/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemoKit.symbols.json index 9e40be7c..7378d209 100644 --- a/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemoKit.symbols.json +++ b/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemoKit.symbols.json @@ -1 +1 @@ -{"metadata":{"formatVersion":{"major":0,"minor":6,"patch":0},"generator":"Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)"},"module":{"name":"SwiftDemoKit","platform":{"architecture":"arm64","environment":"simulator","vendor":"apple","operatingSystem":{"name":"ios","minimumVersion":{"major":15,"minor":0}}}},"symbols":[{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:12SwiftDemoKit5MoneyV","interfaceLanguage":"swift"},"pathComponents":["Money"],"names":{"title":"Money","navigator":[{"kind":"identifier","spelling":"Money"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Money"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Money"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":3,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:12SwiftDemoKit5MoneyV6amountSivp","interfaceLanguage":"swift"},"pathComponents":["Money","amount"],"names":{"title":"amount","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"amount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"amount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":4,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:12SwiftDemoKit5MoneyV8currencySSvp","interfaceLanguage":"swift"},"pathComponents":["Money","currency"],"names":{"title":"currency","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":5,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:12SwiftDemoKit5MoneyV6amount8currencyACSi_SStcfc","interfaceLanguage":"swift"},"pathComponents":["Money","init(amount:currency:)"],"names":{"title":"init(amount:currency:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"amount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"amount","declarationFragments":[{"kind":"identifier","spelling":"amount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},{"name":"currency","declarationFragments":[{"kind":"identifier","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"amount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":7,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:12SwiftDemoKit5MoneyV6addingyA2CF","interfaceLanguage":"swift"},"pathComponents":["Money","adding(_:)"],"names":{"title":"adding(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"adding"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"adding"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":12,"character":16}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:12SwiftDemoKit6WalletC","interfaceLanguage":"swift"},"pathComponents":["Wallet"],"names":{"title":"Wallet","navigator":[{"kind":"identifier","spelling":"Wallet"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Wallet"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Wallet"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":17,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:12SwiftDemoKit6WalletC5ownerSSvp","interfaceLanguage":"swift"},"pathComponents":["Wallet","owner"],"names":{"title":"owner","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":18,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:12SwiftDemoKit6WalletC7balanceAA5MoneyVvp","interfaceLanguage":"swift"},"pathComponents":["Wallet","balance"],"names":{"title":"balance","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"balance"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"balance"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":19,"character":28}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:12SwiftDemoKit6WalletC5ownerACSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Wallet","init(owner:)"],"names":{"title":"init(owner:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"owner","declarationFragments":[{"kind":"identifier","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":21,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:12SwiftDemoKit6WalletC7deposityyAA5MoneyVF","interfaceLanguage":"swift"},"pathComponents":["Wallet","deposit(_:)"],"names":{"title":"deposit(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deposit"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"money","declarationFragments":[{"kind":"identifier","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deposit"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":26,"character":16}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:12SwiftDemoKit4CoinO","interfaceLanguage":"swift"},"pathComponents":["Coin"],"names":{"title":"Coin","navigator":[{"kind":"identifier","spelling":"Coin"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coin"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coin"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":29,"character":12}}},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:12SwiftDemoKit4CoinO","interfaceLanguage":"swift"},"pathComponents":["Coin","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:12SwiftDemoKit4CoinO5pennyyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Coin","penny"],"names":{"title":"Coin.penny","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"penny"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"penny"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":30,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:12SwiftDemoKit4CoinO4dimeyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Coin","dime"],"names":{"title":"Coin.dime","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dime"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dime"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":30,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:12SwiftDemoKit9formattedySSAA5MoneyVF","interfaceLanguage":"swift"},"pathComponents":["formatted(_:)"],"names":{"title":"formatted(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"formatted"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"money","declarationFragments":[{"kind":"identifier","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"formatted"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":33,"character":12}}}],"relationships":[{"kind":"memberOf","source":"s:12SwiftDemoKit5MoneyV6amountSivp","target":"s:12SwiftDemoKit5MoneyV"},{"kind":"memberOf","source":"s:12SwiftDemoKit5MoneyV8currencySSvp","target":"s:12SwiftDemoKit5MoneyV"},{"kind":"memberOf","source":"s:12SwiftDemoKit5MoneyV6amount8currencyACSi_SStcfc","target":"s:12SwiftDemoKit5MoneyV"},{"kind":"memberOf","source":"s:12SwiftDemoKit5MoneyV6addingyA2CF","target":"s:12SwiftDemoKit5MoneyV"},{"kind":"memberOf","source":"s:12SwiftDemoKit6WalletC5ownerSSvp","target":"s:12SwiftDemoKit6WalletC"},{"kind":"memberOf","source":"s:12SwiftDemoKit6WalletC7balanceAA5MoneyVvp","target":"s:12SwiftDemoKit6WalletC"},{"kind":"memberOf","source":"s:12SwiftDemoKit6WalletC5ownerACSS_tcfc","target":"s:12SwiftDemoKit6WalletC"},{"kind":"memberOf","source":"s:12SwiftDemoKit6WalletC7deposityyAA5MoneyVF","target":"s:12SwiftDemoKit6WalletC"},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:12SwiftDemoKit4CoinO","target":"s:12SwiftDemoKit4CoinO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"conformsTo","source":"s:12SwiftDemoKit4CoinO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:12SwiftDemoKit4CoinO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"memberOf","source":"s:12SwiftDemoKit4CoinO5pennyyA2CmF","target":"s:12SwiftDemoKit4CoinO"},{"kind":"memberOf","source":"s:12SwiftDemoKit4CoinO4dimeyA2CmF","target":"s:12SwiftDemoKit4CoinO"}]} \ No newline at end of file +{"metadata":{"formatVersion":{"major":0,"minor":6,"patch":0},"generator":"Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)"},"module":{"name":"SwiftDemoKit","platform":{"architecture":"arm64","environment":"simulator","vendor":"apple","operatingSystem":{"name":"ios","minimumVersion":{"major":15,"minor":0}}}},"symbols":[{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:12SwiftDemoKit5MoneyV","interfaceLanguage":"swift"},"pathComponents":["Money"],"names":{"title":"Money","navigator":[{"kind":"identifier","spelling":"Money"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Money"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Money"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":3,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:12SwiftDemoKit5MoneyV6amountSivp","interfaceLanguage":"swift"},"pathComponents":["Money","amount"],"names":{"title":"amount","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"amount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"amount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":4,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:12SwiftDemoKit5MoneyV8currencySSvp","interfaceLanguage":"swift"},"pathComponents":["Money","currency"],"names":{"title":"currency","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":5,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:12SwiftDemoKit5MoneyV6amount8currencyACSi_SStcfc","interfaceLanguage":"swift"},"pathComponents":["Money","init(amount:currency:)"],"names":{"title":"init(amount:currency:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"amount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"amount","declarationFragments":[{"kind":"identifier","spelling":"amount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},{"name":"currency","declarationFragments":[{"kind":"identifier","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"amount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":7,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:12SwiftDemoKit5MoneyV6addingyA2CF","interfaceLanguage":"swift"},"pathComponents":["Money","adding(_:)"],"names":{"title":"adding(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"adding"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"adding"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":12,"character":16}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:12SwiftDemoKit6WalletC","interfaceLanguage":"swift"},"pathComponents":["Wallet"],"names":{"title":"Wallet","navigator":[{"kind":"identifier","spelling":"Wallet"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Wallet"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Wallet"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":17,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:12SwiftDemoKit6WalletC5ownerSSvp","interfaceLanguage":"swift"},"pathComponents":["Wallet","owner"],"names":{"title":"owner","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":18,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:12SwiftDemoKit6WalletC7balanceAA5MoneyVvp","interfaceLanguage":"swift"},"pathComponents":["Wallet","balance"],"names":{"title":"balance","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"balance"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"balance"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":19,"character":28}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:12SwiftDemoKit6WalletC5ownerACSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Wallet","init(owner:)"],"names":{"title":"init(owner:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"owner","declarationFragments":[{"kind":"identifier","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":21,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:12SwiftDemoKit6WalletC7deposityyAA5MoneyVF","interfaceLanguage":"swift"},"pathComponents":["Wallet","deposit(_:)"],"names":{"title":"deposit(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deposit"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"money","declarationFragments":[{"kind":"identifier","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deposit"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":26,"character":16}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:12SwiftDemoKit4CoinO","interfaceLanguage":"swift"},"pathComponents":["Coin"],"names":{"title":"Coin","navigator":[{"kind":"identifier","spelling":"Coin"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coin"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coin"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":29,"character":12}}},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:12SwiftDemoKit4CoinO","interfaceLanguage":"swift"},"pathComponents":["Coin","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:12SwiftDemoKit4CoinO5pennyyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Coin","penny"],"names":{"title":"Coin.penny","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"penny"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"penny"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":30,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:12SwiftDemoKit4CoinO4dimeyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Coin","dime"],"names":{"title":"Coin.dime","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dime"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dime"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":30,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:12SwiftDemoKit9formattedySSAA5MoneyVF","interfaceLanguage":"swift"},"pathComponents":["formatted(_:)"],"names":{"title":"formatted(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"formatted"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"money","declarationFragments":[{"kind":"identifier","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"formatted"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":33,"character":12}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:12SwiftDemoKit4PairV","interfaceLanguage":"swift"},"pathComponents":["Pair"],"names":{"title":"Pair","navigator":[{"kind":"identifier","spelling":"Pair"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Pair"}]},"swiftGenerics":{"parameters":[{"name":"First","index":0,"depth":0},{"name":"Second","index":1,"depth":0}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Pair"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"First"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"Second"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":38,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:12SwiftDemoKit4PairV5firstxvp","interfaceLanguage":"swift"},"pathComponents":["Pair","first"],"names":{"title":"first","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"First","preciseIdentifier":"s:12SwiftDemoKit4PairV5Firstxmfp"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"First","preciseIdentifier":"s:12SwiftDemoKit4PairV5Firstxmfp"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":39,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:12SwiftDemoKit4PairV6secondq_vp","interfaceLanguage":"swift"},"pathComponents":["Pair","second"],"names":{"title":"second","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"second"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Second","preciseIdentifier":"s:12SwiftDemoKit4PairV6Secondq_mfp"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"second"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Second","preciseIdentifier":"s:12SwiftDemoKit4PairV6Secondq_mfp"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":40,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:12SwiftDemoKit4PairV5first6secondACyxq_Gx_q_tcfc","interfaceLanguage":"swift"},"pathComponents":["Pair","init(first:second:)"],"names":{"title":"init(first:second:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"first"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"First","preciseIdentifier":"s:12SwiftDemoKit4PairV5Firstxmfp"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"second"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Second","preciseIdentifier":"s:12SwiftDemoKit4PairV6Secondq_mfp"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"first","declarationFragments":[{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"First","preciseIdentifier":"s:12SwiftDemoKit4PairV5Firstxmfp"}]},{"name":"second","declarationFragments":[{"kind":"identifier","spelling":"second"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Second","preciseIdentifier":"s:12SwiftDemoKit4PairV6Secondq_mfp"}]}]},"swiftGenerics":{"parameters":[{"name":"First","index":0,"depth":0},{"name":"Second","index":1,"depth":0}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"first"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"First","preciseIdentifier":"s:12SwiftDemoKit4PairV5Firstxmfp"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"second"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Second","preciseIdentifier":"s:12SwiftDemoKit4PairV6Secondq_mfp"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":42,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:12SwiftDemoKit4PairV7swappedACyq_xGyF","interfaceLanguage":"swift"},"pathComponents":["Pair","swapped()"],"names":{"title":"swapped()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapped"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Second","preciseIdentifier":"s:12SwiftDemoKit4PairV6Secondq_mfp"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"First","preciseIdentifier":"s:12SwiftDemoKit4PairV5Firstxmfp"},{"kind":"text","spelling":">"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Second"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"First"},{"kind":"text","spelling":">"}]},"swiftGenerics":{"parameters":[{"name":"First","index":0,"depth":0},{"name":"Second","index":1,"depth":0}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapped"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Second","preciseIdentifier":"s:12SwiftDemoKit4PairV6Secondq_mfp"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"First","preciseIdentifier":"s:12SwiftDemoKit4PairV5Firstxmfp"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":47,"character":16}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:12SwiftDemoKit3BoxC","interfaceLanguage":"swift"},"pathComponents":["Box"],"names":{"title":"Box","navigator":[{"kind":"identifier","spelling":"Box"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Box"}]},"swiftGenerics":{"parameters":[{"name":"Value","index":0,"depth":0}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Box"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Value"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":50,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:12SwiftDemoKit3BoxC5valuexvp","interfaceLanguage":"swift"},"pathComponents":["Box","value"],"names":{"title":"value","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Value","preciseIdentifier":"s:12SwiftDemoKit3BoxC5Valuexmfp"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Value","preciseIdentifier":"s:12SwiftDemoKit3BoxC5Valuexmfp"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":51,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:12SwiftDemoKit3BoxCyACyxGxcfc","interfaceLanguage":"swift"},"pathComponents":["Box","init(_:)"],"names":{"title":"init(_:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Value","preciseIdentifier":"s:12SwiftDemoKit3BoxC5Valuexmfp"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Value","preciseIdentifier":"s:12SwiftDemoKit3BoxC5Valuexmfp"}]}]},"swiftGenerics":{"parameters":[{"name":"Value","index":0,"depth":0}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Value","preciseIdentifier":"s:12SwiftDemoKit3BoxC5Valuexmfp"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":52,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:12SwiftDemoKit3BoxC8replaced4withACyxGx_tF","interfaceLanguage":"swift"},"pathComponents":["Box","replaced(with:)"],"names":{"title":"replaced(with:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"replaced"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"with"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Value","preciseIdentifier":"s:12SwiftDemoKit3BoxC5Valuexmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Value","preciseIdentifier":"s:12SwiftDemoKit3BoxC5Valuexmfp"},{"kind":"text","spelling":">"}]},"functionSignature":{"parameters":[{"name":"with","internalName":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Value","preciseIdentifier":"s:12SwiftDemoKit3BoxC5Valuexmfp"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Value"},{"kind":"text","spelling":">"}]},"swiftGenerics":{"parameters":[{"name":"Value","index":0,"depth":0}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"replaced"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"with"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Value","preciseIdentifier":"s:12SwiftDemoKit3BoxC5Valuexmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Value","preciseIdentifier":"s:12SwiftDemoKit3BoxC5Valuexmfp"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":53,"character":16}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:12SwiftDemoKit7OutcomeO","interfaceLanguage":"swift"},"pathComponents":["Outcome"],"names":{"title":"Outcome","navigator":[{"kind":"identifier","spelling":"Outcome"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Outcome"}]},"swiftGenerics":{"parameters":[{"name":"Value","index":0,"depth":0}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Outcome"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Value"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":56,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:12SwiftDemoKit7OutcomeO4doneyACyxGxcAEmlF","interfaceLanguage":"swift"},"pathComponents":["Outcome","done(_:)"],"names":{"title":"Outcome.done(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"done"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Value","preciseIdentifier":"s:12SwiftDemoKit7OutcomeO5Valuexmfp"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"done"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Value","preciseIdentifier":"s:12SwiftDemoKit7OutcomeO5Valuexmfp"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":57,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:12SwiftDemoKit7OutcomeO6failedyACyxGSS_tcAEmlF","interfaceLanguage":"swift"},"pathComponents":["Outcome","failed(reason:)"],"names":{"title":"Outcome.failed(reason:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"failed"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"reason"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"failed"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"reason"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemoKit/Money.swift","position":{"line":58,"character":9}}}],"relationships":[{"kind":"memberOf","source":"s:12SwiftDemoKit5MoneyV6amountSivp","target":"s:12SwiftDemoKit5MoneyV"},{"kind":"memberOf","source":"s:12SwiftDemoKit5MoneyV8currencySSvp","target":"s:12SwiftDemoKit5MoneyV"},{"kind":"memberOf","source":"s:12SwiftDemoKit5MoneyV6amount8currencyACSi_SStcfc","target":"s:12SwiftDemoKit5MoneyV"},{"kind":"memberOf","source":"s:12SwiftDemoKit5MoneyV6addingyA2CF","target":"s:12SwiftDemoKit5MoneyV"},{"kind":"memberOf","source":"s:12SwiftDemoKit6WalletC5ownerSSvp","target":"s:12SwiftDemoKit6WalletC"},{"kind":"memberOf","source":"s:12SwiftDemoKit6WalletC7balanceAA5MoneyVvp","target":"s:12SwiftDemoKit6WalletC"},{"kind":"memberOf","source":"s:12SwiftDemoKit6WalletC5ownerACSS_tcfc","target":"s:12SwiftDemoKit6WalletC"},{"kind":"memberOf","source":"s:12SwiftDemoKit6WalletC7deposityyAA5MoneyVF","target":"s:12SwiftDemoKit6WalletC"},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:12SwiftDemoKit4CoinO","target":"s:12SwiftDemoKit4CoinO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"conformsTo","source":"s:12SwiftDemoKit4CoinO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:12SwiftDemoKit4CoinO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"memberOf","source":"s:12SwiftDemoKit4CoinO5pennyyA2CmF","target":"s:12SwiftDemoKit4CoinO"},{"kind":"memberOf","source":"s:12SwiftDemoKit4CoinO4dimeyA2CmF","target":"s:12SwiftDemoKit4CoinO"},{"kind":"memberOf","source":"s:12SwiftDemoKit4PairV5firstxvp","target":"s:12SwiftDemoKit4PairV"},{"kind":"memberOf","source":"s:12SwiftDemoKit4PairV6secondq_vp","target":"s:12SwiftDemoKit4PairV"},{"kind":"memberOf","source":"s:12SwiftDemoKit4PairV5first6secondACyxq_Gx_q_tcfc","target":"s:12SwiftDemoKit4PairV"},{"kind":"memberOf","source":"s:12SwiftDemoKit4PairV7swappedACyq_xGyF","target":"s:12SwiftDemoKit4PairV"},{"kind":"memberOf","source":"s:12SwiftDemoKit3BoxC5valuexvp","target":"s:12SwiftDemoKit3BoxC"},{"kind":"memberOf","source":"s:12SwiftDemoKit3BoxCyACyxGxcfc","target":"s:12SwiftDemoKit3BoxC"},{"kind":"memberOf","source":"s:12SwiftDemoKit3BoxC8replaced4withACyxGx_tF","target":"s:12SwiftDemoKit3BoxC"},{"kind":"memberOf","source":"s:12SwiftDemoKit7OutcomeO4doneyACyxGxcAEmlF","target":"s:12SwiftDemoKit7OutcomeO"},{"kind":"memberOf","source":"s:12SwiftDemoKit7OutcomeO6failedyACyxGSS_tcAEmlF","target":"s:12SwiftDemoKit7OutcomeO"}]} \ No newline at end of file diff --git a/metadata-generator/src/Swift/CapabilityClassifier.cpp b/metadata-generator/src/Swift/CapabilityClassifier.cpp index ca4fd9b8..70bce21d 100644 --- a/metadata-generator/src/Swift/CapabilityClassifier.cpp +++ b/metadata-generator/src/Swift/CapabilityClassifier.cpp @@ -156,6 +156,7 @@ class Classifier { } } resolveNames(); + classifyTemplates(); return std::move(_result); } @@ -265,7 +266,9 @@ class Classifier { reasons.push_back("js-name-conflict"); } } - std::set generics; + std::set generics = + genericNamesInScope(_module, *member); + _substitutions = substitutionsOf(*member); for (const auto& parameter : member->parameters) { BridgedType bridged = bridge(parameter.type, generics, reasons); if (bridged.bridge == Bridge::Closure) { @@ -297,6 +300,7 @@ class Classifier { } Capability classifyOther(const Symbol& symbol) const { + _substitutions = substitutionsOf(symbol); Capability capability; switch (symbol.kind) { case SymbolKind::Deinitializer: @@ -314,7 +318,17 @@ class Classifier { return capability; } if (symbol.kind == SymbolKind::TypeAlias) { - return make(Tier::TypeOnly, "type-alias"); + // Declared for TypeScript when what it names bridges. + Capability alias = make(Tier::TypeOnly, "type-alias"); + if (symbol.aliasedType && symbol.genericParameters.empty()) { + std::vector reasons; + alias.result = bridge(*symbol.aliasedType, + genericNamesInScope(_module, symbol), reasons); + if (!reasons.empty()) { + alias.result = BridgedType(); + } + } + return alias; } if (symbol.kind == SymbolKind::AssociatedType) { return make(Tier::TypeOnly, "associated-type"); @@ -356,7 +370,7 @@ class Classifier { // The owner bridged, so its payloads do (rejectUnbridgedPayloads). capability = make(Tier::SwiftGenerated); capability.jsName = symbol.baseName; - std::set generics; + std::set generics = genericNamesInScope(_module, symbol); std::vector reasons; for (const auto& parameter : symbol.parameters) { capability.parameters.push_back( @@ -485,7 +499,8 @@ class Classifier { std::vector& reasons) const { bool complete = true; BridgedType bridged; - bridged.node = parseType(type, generics, &complete); + bridged.node = + substitute(parseType(type, generics, &complete), _substitutions); if (!complete) { reasons.push_back("unparsed-type"); return bridged; @@ -536,6 +551,12 @@ class Classifier { bridged.bridge = Bridge::Void; return ""; case TypeNode::Kind::GenericParameter: + if (_template && node.components.size() == 1 && + _templateParameters.count(node.components[0].name)) { + bridged.bridge = Bridge::TypeParameter; + bridged.objcClass = node.components[0].name; + return ""; + } return "generic"; case TypeNode::Kind::Function: { // JS functions stand in for closures that return nothing: a Swift @@ -617,7 +638,65 @@ class Classifier { bridged.bridge = Bridge::Data; return ""; } - const Symbol* target = usr.empty() ? nullptr : _module.find(usr); + // An instantiation the module spells has its own synthetic type. + const Symbol* target = nullptr; + const auto& arguments = node.components.empty() + ? std::vector() + : node.components.back().arguments; + if (!usr.empty() && !arguments.empty()) { + target = _module.find(instantiationKey(node)); + if (target || _template) { + for (const auto& argument : arguments) { + BridgedType bridgedArgument; + bridgedArgument.node = argument; + const TypeNode* inner = &argument; + if (argument.kind == TypeNode::Kind::Optional && + !argument.children.empty()) { + bridgedArgument.optional = true; + inner = &argument.children[0]; + } + bridgeNonOptional(*inner, bridgedArgument); + bridged.typeArguments.push_back(std::move(bridgedArgument)); + } + } + // A generic type's own declaration refers to its instantiations + // generically. + const Symbol* base = _module.find(usr); + if (!target && _template && base && _families.count(base->preciseId)) { + bridged.bridge = bridgeOwner(*base).bridge; + bridged.symbolId = base->preciseId; + return ""; + } + } + if (!target && !usr.empty()) { + target = _module.find(usr); + } + if (target && target->kind == SymbolKind::TypeAlias && + target->aliasedType && target->genericParameters.empty()) { + // A typealias bridges as what it names; Swift code keeps its name. + bool complete = true; + TypeNode aliased = + parseType(*target->aliasedType, genericNamesInScope(_module, *target), + &complete); + if (!complete) { + return "unparsed-type"; + } + BridgedType resolved; + resolved.node = aliased; + const TypeNode* inner = &aliased; + if (aliased.kind == TypeNode::Kind::Optional || + aliased.kind == TypeNode::Kind::Array || + aliased.kind == TypeNode::Kind::Dictionary) { + return "type-alias"; + } + std::string reason = bridgeNonOptional(*inner, resolved); + TypeNode spelled = bridged.node; + bool optional = bridged.optional; + bridged = std::move(resolved); + bridged.node = spelled; + bridged.optional = optional; + return reason; + } std::string objcClass = objcClassName(usr, target); if (!objcClass.empty()) { bridged.bridge = Bridge::ObjCObject; @@ -775,9 +854,85 @@ class Classifier { return type.optional ? kind + "?" : kind; } + // Generic types with generated instantiations, and their members' + // template capabilities. + void classifyTemplates() { + for (const auto& entry : _module.symbols) { + const Symbol& symbol = entry.second; + const Capability* capability = _result.find(entry.first); + if (!symbol.genericBase.empty() && isNominalType(symbol.kind) && + capability && capability->tier == Tier::SwiftGenerated) { + _families.insert(symbol.genericBase); + } + } + for (const auto& id : _families) { + const Symbol* base = _module.find(id); + if (!base) { + continue; + } + _template = true; + _templateParameters.clear(); + for (const auto& parameter : base->genericParameters) { + _templateParameters.insert(parameter.name); + } + _substitutions.clear(); + for (const auto& memberId : base->memberIds) { + const Symbol* member = _module.find(memberId); + if (!member || isNominalType(member->kind)) { + continue; + } + Capability capability; + capability.tier = Tier::SwiftGenerated; + capability.jsName = member->kind == SymbolKind::Initializer + ? "constructor" + : member->baseName; + std::set generics = genericNamesInScope(_module, *member); + std::vector reasons; + for (const auto& parameter : member->parameters) { + BridgedType bridged = bridge(parameter.type, generics, reasons); + bridged.isInout = parameter.modifier == "inout"; + capability.parameters.push_back(std::move(bridged)); + } + if (member->kind == SymbolKind::Initializer || + member->kind == SymbolKind::EnumCase) { + capability.result = bridgeOwner(*base); + } else if (member->valueType) { + capability.result = bridge(*member->valueType, generics, reasons); + } else if (member->returnType) { + capability.result = bridge(*member->returnType, generics, reasons); + } else { + capability.result.bridge = Bridge::Void; + } + _result.templates[memberId] = std::move(capability); + } + } + _template = false; + } + + // An instantiation's generic parameters and their arguments, for `symbol` + // and its enclosing types. + std::vector> substitutionsOf( + const Symbol& symbol) const { + std::vector> result; + for (const Symbol* current = &symbol; current; + current = current->parentId.empty() + ? nullptr + : _module.find(current->parentId)) { + result.insert(result.end(), current->substitutions.begin(), + current->substitutions.end()); + } + return result; + } + const Module& _module; const std::map& _rejections; Classification _result; + // Those of the declaration being classified (see substitutionsOf). + mutable std::vector> _substitutions; + // classifyTemplates: bridging a generic type's own declarations. + bool _template = false; + std::set _templateParameters; + std::set _families; }; } // namespace diff --git a/metadata-generator/src/Swift/CapabilityClassifier.h b/metadata-generator/src/Swift/CapabilityClassifier.h index ad2b8dd8..8f420196 100644 --- a/metadata-generator/src/Swift/CapabilityClassifier.h +++ b/metadata-generator/src/Swift/CapabilityClassifier.h @@ -64,6 +64,9 @@ enum class Bridge { // An Objective-C class instance: NativeScript's ordinary Objective-C // wrapper, with the same identity Objective-C calls give it. ObjCObject, + // A generic parameter, in a generic type's declarations for TypeScript + // only (Classification::templates); never generated. + TypeParameter, }; struct BridgedType { @@ -71,8 +74,12 @@ struct BridgedType { bool optional = false; // Nominal bridges: the module symbol the type refers to. std::string symbolId; - // ObjCObject: the class's Objective-C runtime name. + // ObjCObject: the class's Objective-C runtime name. TypeParameter: the + // parameter's name. std::string objcClass; + // A generic type's arguments, for its TypeScript name (`Pair`). + std::vector typeArguments; TypeNode node; // Array and Dictionary: the element (value) type. Closure: its // parameters. @@ -122,6 +129,10 @@ struct Capability { struct Classification { std::map bySymbol; + // Members of generic types with generated instantiations, with generic + // parameters bridged as TypeParameter: one declaration for TypeScript + // covering every instantiation. + std::map templates; const Capability* find(const std::string& id) const; }; diff --git a/metadata-generator/src/Swift/ProbeVerifier.cpp b/metadata-generator/src/Swift/ProbeVerifier.cpp index 0c43e965..90860361 100644 --- a/metadata-generator/src/Swift/ProbeVerifier.cpp +++ b/metadata-generator/src/Swift/ProbeVerifier.cpp @@ -120,6 +120,9 @@ VerifyResult verifyWithCompiler(const Module& module, arguments.push_back(probePath.str().str()); arguments.push_back(thunkPath.str().str()); std::vector argv(arguments.begin(), arguments.end()); + // The redirect does not truncate: a shorter log would keep the previous + // run's tail. + llvm::sys::fs::remove(logPath); std::optional redirects[] = { std::nullopt, llvm::StringRef(logPath), llvm::StringRef(logPath)}; std::string executionError; diff --git a/metadata-generator/src/Swift/SwiftIR.h b/metadata-generator/src/Swift/SwiftIR.h index d79065c8..4596aad0 100644 --- a/metadata-generator/src/Swift/SwiftIR.h +++ b/metadata-generator/src/Swift/SwiftIR.h @@ -85,6 +85,63 @@ struct Availability { bool isUnconditionallyUnavailable = false; }; +// A Swift type as a tree, parsed from a TypeRef's fragments. +struct TypeNode { + enum class Kind { + // A named type, possibly nested (`AttributedString.Index`) and generic + // (`Binding`). Optional, Array and Dictionary spelled as named + // generics are normalized to their own kinds. + Nominal, + // A generic parameter in scope, `Self`, or a member of one (`T.Value`). + GenericParameter, + Optional, + ImplicitlyUnwrappedOptional, + Array, + Dictionary, + Tuple, + Function, + Metatype, + // `any P` (also `Any`, `AnyObject`). + Existential, + // `some P`. + Opaque, + // `P & Q`. + Composition, + Void, + // Anything the parser does not model (parameter packs, `~Copyable`); + // `text` holds the spelling. + Unknown, + }; + + struct Component { + std::string name; + std::string usr; + std::vector arguments; + }; + + Kind kind = Kind::Unknown; + // Nominal: one entry per dot-separated name; GenericParameter: its name(s). + std::vector components; + // Element/wrapped types, tuple elements, function parameters, composition + // members, dictionary key and value. + std::vector children; + std::vector labels; + // Function result; empty for other kinds. + std::vector result; + std::vector thrownType; + bool isAsync = false; + bool isThrowing = false; + // "@escaping", "@Sendable", "@MainActor", "@convention(c)", ... + std::vector attributes; + // "inout", "borrowing", "consuming", "sending", "repeat each". + std::string modifier; + std::string text; + + // USR of the last component (Nominal only). + const std::string& usr() const; + bool hasAttribute(const std::string& attribute) const; +}; + struct GenericParameter { std::string name; int depth = 0; @@ -200,6 +257,14 @@ struct Symbol { // a generation unit (see mergeUnit). std::string module; + // A synthetic instantiation of a generic type (see instantiateGenerics), + // or a member of one: the generic declaration it was made from, and the + // arguments its generic parameters stand for in its types. + std::string genericBase; + std::vector> substitutions; + // An instantiated type's arguments, in order. + std::vector typeArguments; + // Resolved relationships. std::string parentId; std::vector memberIds; diff --git a/metadata-generator/src/Swift/SwiftSource.cpp b/metadata-generator/src/Swift/SwiftSource.cpp index 728c5692..ae9ea4a7 100644 --- a/metadata-generator/src/Swift/SwiftSource.cpp +++ b/metadata-generator/src/Swift/SwiftSource.cpp @@ -16,8 +16,16 @@ std::string declaringModuleName(const Module& module, const Symbol& symbol) { } std::string qualifiedTypeName(const Module& module, const Symbol& symbol) { - return declaringModuleName(module, symbol) + "." + - llvm::join(symbol.pathComponents, "."); + std::string name = declaringModuleName(module, symbol) + "." + + llvm::join(symbol.pathComponents, "."); + if (!symbol.typeArguments.empty()) { + std::vector arguments; + for (const auto& argument : symbol.typeArguments) { + arguments.push_back(swiftTypeText(argument, module)); + } + name += "<" + llvm::join(arguments, ", ") + ">"; + } + return name; } namespace { @@ -49,6 +57,12 @@ TypeNode qualify(const TypeNode& node, const Module& module) { } components.back().usr = symbol->preciseId; components.back().arguments = result.components.back().arguments; + if (components.back().arguments.empty()) { + // A reference to an instantiation by its id. + for (const auto& argument : symbol->typeArguments) { + components.back().arguments.push_back(qualify(argument, module)); + } + } result.components = std::move(components); } } diff --git a/metadata-generator/src/Swift/SwiftSurface.cpp b/metadata-generator/src/Swift/SwiftSurface.cpp index c4b6d998..b1d467d4 100644 --- a/metadata-generator/src/Swift/SwiftSurface.cpp +++ b/metadata-generator/src/Swift/SwiftSurface.cpp @@ -133,6 +133,7 @@ std::string signatureCode(const SwiftSurface& surface, code += ")"; break; } + case Bridge::TypeParameter: case Bridge::None: code = "?"; break; diff --git a/metadata-generator/src/Swift/SwiftTypes.cpp b/metadata-generator/src/Swift/SwiftTypes.cpp index 97a60efa..38504d6c 100644 --- a/metadata-generator/src/Swift/SwiftTypes.cpp +++ b/metadata-generator/src/Swift/SwiftTypes.cpp @@ -2,6 +2,8 @@ #include +#include + #include "FragmentTokens.h" namespace Swift { @@ -656,8 +658,319 @@ std::set genericNamesInScope(const Module& module, for (const auto& parameter : current->genericParameters) { names.insert(parameter.name); } + for (const auto& substitution : current->substitutions) { + names.insert(substitution.first); + } } return names; } +TypeNode substitute( + const TypeNode& node, + const std::vector>& substitutions) { + if (node.kind == TypeNode::Kind::GenericParameter && + node.components.size() == 1) { + for (const auto& substitution : substitutions) { + if (substitution.first == node.components[0].name) { + TypeNode result = substitution.second; + result.attributes.insert(result.attributes.end(), + node.attributes.begin(), + node.attributes.end()); + if (result.modifier.empty()) { + result.modifier = node.modifier; + } + return result; + } + } + return node; + } + TypeNode result = node; + for (auto& child : result.children) { + child = substitute(child, substitutions); + } + for (auto& child : result.result) { + child = substitute(child, substitutions); + } + for (auto& child : result.thrownType) { + child = substitute(child, substitutions); + } + for (auto& component : result.components) { + for (auto& argument : component.arguments) { + argument = substitute(argument, substitutions); + } + } + return result; +} + +namespace { + +std::string typeKey(const TypeNode& node) { + switch (node.kind) { + case TypeNode::Kind::Nominal: { + std::string key = node.usr().empty() ? spelling(node) : node.usr(); + const auto& arguments = node.components.back().arguments; + if (!arguments.empty()) { + key += "<"; + for (size_t i = 0; i < arguments.size(); i++) { + key += (i > 0 ? "," : "") + typeKey(arguments[i]); + } + key += ">"; + } + return key; + } + case TypeNode::Kind::Optional: + case TypeNode::Kind::ImplicitlyUnwrappedOptional: + return typeKey(node.children.at(0)) + "?"; + case TypeNode::Kind::Array: + return "[" + typeKey(node.children.at(0)) + "]"; + case TypeNode::Kind::Dictionary: + return "[" + typeKey(node.children.at(0)) + ":" + + typeKey(node.children.at(1)) + "]"; + default: + return spelling(node); + } +} + +bool isConcrete(const TypeNode& node) { + if (node.kind == TypeNode::Kind::GenericParameter || + node.kind == TypeNode::Kind::Opaque || + node.kind == TypeNode::Kind::Unknown) { + return false; + } + for (const auto* list : {&node.children, &node.result, &node.thrownType}) { + for (const auto& child : *list) { + if (!isConcrete(child)) { + return false; + } + } + } + for (const auto& component : node.components) { + for (const auto& argument : component.arguments) { + if (!isConcrete(argument)) { + return false; + } + } + } + return true; +} + +// Concrete generic nominals in `node`, outermost first. +void collectInstantiations(const TypeNode& node, + std::vector& out) { + if (node.kind == TypeNode::Kind::Nominal && !node.components.empty() && + !node.components.back().arguments.empty() && isConcrete(node)) { + out.push_back(&node); + } + for (const auto* list : {&node.children, &node.result, &node.thrownType}) { + for (const auto& child : *list) { + collectInstantiations(child, out); + } + } + for (const auto& component : node.components) { + for (const auto& argument : component.arguments) { + collectInstantiations(argument, out); + } + } +} + +std::vector typesOf(const Symbol& symbol) { + std::vector types; + for (const auto& parameter : symbol.parameters) { + types.push_back(¶meter.type); + } + for (const auto* type : + {&symbol.returnType, &symbol.valueType, &symbol.aliasedType}) { + if (*type) { + types.push_back(&**type); + } + } + return types; +} + +std::string withoutSpaces(llvm::StringRef text) { + std::string out; + for (char c : text) { + if (c != ' ') { + out += c; + } + } + return out; +} + +// Whether `member`'s same-type requirements (`where UnitType == UnitMass`, +// `where Self == Style`) hold for `base` instantiated with +// `arguments`. Requirements this cannot decide count as holding; compiler +// verification has the last word. +bool sameTypeRequirementsHold(const Symbol& member, const Symbol& base, + const std::vector& arguments) { + std::vector constraints; + for (const auto& constraint : member.genericConstraints) { + constraints.push_back(&constraint); + } + if (member.extension) { + for (const auto& constraint : member.extension->constraints) { + constraints.push_back(&constraint); + } + } + std::vector spelled; + for (const auto& argument : arguments) { + spelled.push_back(withoutSpaces(spelling(argument))); + } + for (const GenericConstraint* constraint : constraints) { + if (constraint->kind != "sameType") { + continue; + } + std::string rhs = withoutSpaces(constraint->rhs); + for (size_t i = 0; i < base.genericParameters.size() && i < spelled.size(); + i++) { + if (constraint->lhs == base.genericParameters[i].name && + rhs != spelled[i] && + llvm::StringRef(spelled[i]).rsplit('.').second != rhs) { + return false; + } + } + // `Self == Outer.Base`, qualified or not. + std::string prefix = base.name + "<"; + size_t at = rhs.find(prefix); + if (constraint->lhs == "Self" && at != std::string::npos && + (at == 0 || rhs[at - 1] == '.') && llvm::StringRef(rhs).endswith(">") && + rhs.find('<') == at + base.name.size()) { + std::string own = prefix + llvm::join(spelled, ",") + ">"; + if (rhs.substr(at) != own) { + return false; + } + } + } + return true; +} + +} // namespace + +std::string instantiationKey(const TypeNode& node) { return typeKey(node); } + +void instantiateGenerics(Module& module) { + // Instantiations a synthetic member spells are followed this deep, which + // stops `Box.wrapped() -> Box>` from unfolding forever. + constexpr int kMaxDepth = 2; + struct Pending { + std::string id; + int depth; + }; + std::vector queue; + for (const auto& entry : module.symbols) { + queue.push_back(Pending{entry.first, 0}); + } + + for (size_t next = 0; next < queue.size(); next++) { + Pending pending = queue[next]; + const Symbol* source = module.find(pending.id); + if (!source) { + continue; + } + std::set generics = genericNamesInScope(module, *source); + std::vector> substitutions; + for (const Symbol* current = source; current; + current = current->parentId.empty() ? nullptr + : module.find(current->parentId)) { + substitutions.insert(substitutions.end(), current->substitutions.begin(), + current->substitutions.end()); + } + + std::vector found; + for (const TypeRef* type : typesOf(*source)) { + bool complete = true; + TypeNode node = + substitute(parseType(*type, generics, &complete), substitutions); + if (!complete) { + continue; + } + std::vector nodes; + collectInstantiations(node, nodes); + for (const TypeNode* instance : nodes) { + found.push_back(*instance); + } + } + + for (const TypeNode& instance : found) { + std::string key = instantiationKey(instance); + const Symbol* base = module.find(instance.usr()); + const auto& arguments = instance.components.back().arguments; + if (module.find(key) || !base || !isNominalType(base->kind) || + base->kind == SymbolKind::Protocol || !base->genericBase.empty() || + base->genericParameters.size() != arguments.size() || + pending.depth >= kMaxDepth) { + continue; + } + // Only the type's own parameters: one nested in a generic type is not + // instantiated. + bool nestedInGeneric = false; + for (const Symbol* parent = + base->parentId.empty() ? nullptr : module.find(base->parentId); + parent; + parent = parent->parentId.empty() ? nullptr + : module.find(parent->parentId)) { + nestedInGeneric |= !parent->genericParameters.empty(); + } + if (nestedInGeneric) { + continue; + } + + Symbol type = *base; + type.preciseId = key; + type.genericBase = base->preciseId; + type.genericParameters.clear(); + type.genericConstraints.clear(); + type.typeArguments = arguments; + type.memberIds.clear(); + for (size_t i = 0; i < arguments.size(); i++) { + type.substitutions.emplace_back(base->genericParameters[i].name, + arguments[i]); + } + std::vector members; + for (const auto& memberId : base->memberIds) { + const Symbol* member = module.find(memberId); + if (!member || isNominalType(member->kind) || + !sameTypeRequirementsHold(*member, *base, arguments)) { + continue; + } + Symbol copy = *member; + // Graphs repeat the enclosing type's parameters on its members. + auto substituted = [&](const std::string& name) { + for (const auto& parameter : base->genericParameters) { + if (parameter.name == name) { + return true; + } + } + return false; + }; + copy.genericParameters.erase( + std::remove_if( + copy.genericParameters.begin(), copy.genericParameters.end(), + [&](const GenericParameter& p) { return substituted(p.name); }), + copy.genericParameters.end()); + copy.genericConstraints.erase( + std::remove_if(copy.genericConstraints.begin(), + copy.genericConstraints.end(), + [&](const GenericConstraint& c) { + return substituted( + llvm::StringRef(c.lhs).split('.').first.str()); + }), + copy.genericConstraints.end()); + copy.preciseId = member->preciseId + "@" + key; + copy.parentId = key; + copy.genericBase = member->preciseId; + copy.memberIds.clear(); + members.push_back(copy.preciseId); + module.symbols.emplace(copy.preciseId, std::move(copy)); + } + type.memberIds = members; + module.symbols.emplace(key, std::move(type)); + queue.push_back(Pending{key, pending.depth}); + for (const auto& member : members) { + queue.push_back(Pending{member, pending.depth + 1}); + } + } + } +} + } // namespace Swift diff --git a/metadata-generator/src/Swift/SwiftTypes.h b/metadata-generator/src/Swift/SwiftTypes.h index 8b7d6461..647e2010 100644 --- a/metadata-generator/src/Swift/SwiftTypes.h +++ b/metadata-generator/src/Swift/SwiftTypes.h @@ -8,63 +8,6 @@ namespace Swift { -// A Swift type as a tree, parsed from a TypeRef's fragments. -struct TypeNode { - enum class Kind { - // A named type, possibly nested (`AttributedString.Index`) and generic - // (`Binding`). Optional, Array and Dictionary spelled as named - // generics are normalized to their own kinds. - Nominal, - // A generic parameter in scope, `Self`, or a member of one (`T.Value`). - GenericParameter, - Optional, - ImplicitlyUnwrappedOptional, - Array, - Dictionary, - Tuple, - Function, - Metatype, - // `any P` (also `Any`, `AnyObject`). - Existential, - // `some P`. - Opaque, - // `P & Q`. - Composition, - Void, - // Anything the parser does not model (parameter packs, `~Copyable`); - // `text` holds the spelling. - Unknown, - }; - - struct Component { - std::string name; - std::string usr; - std::vector arguments; - }; - - Kind kind = Kind::Unknown; - // Nominal: one entry per dot-separated name; GenericParameter: its name(s). - std::vector components; - // Element/wrapped types, tuple elements, function parameters, composition - // members, dictionary key and value. - std::vector children; - std::vector labels; - // Function result; empty for other kinds. - std::vector result; - std::vector thrownType; - bool isAsync = false; - bool isThrowing = false; - // "@escaping", "@Sendable", "@MainActor", "@convention(c)", ... - std::vector attributes; - // "inout", "borrowing", "consuming", "sending", "repeat each". - std::string modifier; - std::string text; - - // USR of the last component (Nominal only). - const std::string& usr() const; - bool hasAttribute(const std::string& attribute) const; -}; - const char* toString(TypeNode::Kind kind); // Parses `type`. Names in `genericNames` (and `Self`) are generic parameters. @@ -82,10 +25,28 @@ std::string spelling(const TypeNode& node); std::string qualifiedNameFromUSR(const std::string& usr); // Generic parameter names in scope for `symbol`: its own and those of every -// enclosing declaration. +// enclosing declaration, including those an instantiation substitutes. std::set genericNamesInScope(const Module& module, const Symbol& symbol); +// `node` with each generic parameter `substitutions` names replaced by its +// argument. +TypeNode substitute( + const TypeNode& node, + const std::vector>& substitutions); + +// The id of the instantiation `node` (a generic nominal with arguments) +// names: its USR followed by its arguments' keys. +std::string instantiationKey(const TypeNode& node); + +// Adds a synthetic, non-generic type for every concrete instantiation of a +// module generic type that the module spells (`Forecast` in a +// signature or a public typealias), with copies of the generic type's +// members whose generic parameters stand for its arguments. Instantiations +// spelled only inside other instantiations' members are followed to a +// bounded depth. +void instantiateGenerics(Module& module); + // Well-known USRs of standard library and Foundation types. namespace KnownTypes { constexpr const char* kBool = "s:Sb"; diff --git a/metadata-generator/src/Swift/ThunkEmitter.cpp b/metadata-generator/src/Swift/ThunkEmitter.cpp index 88709641..761f0c7e 100644 --- a/metadata-generator/src/Swift/ThunkEmitter.cpp +++ b/metadata-generator/src/Swift/ThunkEmitter.cpp @@ -167,6 +167,7 @@ class Emitter { false}; } case Bridge::Void: + case Bridge::TypeParameter: case Bridge::None: break; } @@ -275,6 +276,7 @@ class Emitter { reporter + ".returnString(key); " + returnValue(type.elements.at(0), reporter, "element") + " }"; case Bridge::Closure: + case Bridge::TypeParameter: case Bridge::None: return reporter + ".returnVoid()"; } diff --git a/metadata-generator/src/TypeScript/SwiftDefinitionWriter.cpp b/metadata-generator/src/TypeScript/SwiftDefinitionWriter.cpp index 656d8893..c5590c44 100644 --- a/metadata-generator/src/TypeScript/SwiftDefinitionWriter.cpp +++ b/metadata-generator/src/TypeScript/SwiftDefinitionWriter.cpp @@ -2,6 +2,7 @@ #include +#include #include #include #include @@ -127,6 +128,7 @@ std::string codeDisplayName(const SwiftSurface& surface, break; } case Bridge::ObjCObject: + case Bridge::TypeParameter: name = type.objcClass; break; case Bridge::None: @@ -156,8 +158,16 @@ class Writer { Writer(const Module& module, const Classification& classification, const std::string& moduleName) : _module(module), + _classification(classification), _name(moduleName), - _surface(describeSurface(module, classification)) {} + _surface(describeSurface(module, classification)) { + // Instantiations of one generic type are declared once, by the first. + for (const auto& type : _surface.types) { + if (!type.symbol->genericBase.empty()) { + _families.emplace(type.symbol->genericBase, type.index); + } + } + } std::string write() { buildGroups(); @@ -172,6 +182,7 @@ class Writer { for (const auto& path : _topLevel) { writeNode(_nodes.at(path), " "); } + writeTypeAliases(); writeModuleMembers(); _out << "}\n\n" @@ -185,9 +196,63 @@ class Writer { } private: + // The first instantiation of a generic type's family, or -1. + int familyOf(int typeIndex) const { + if (typeIndex < 0) { + return -1; + } + auto it = _families.find(_surface.types[typeIndex].symbol->genericBase); + return it == _families.end() ? -1 : it->second; + } + + // `member` of an instantiation as its generic type declares it, once per + // family; null for the repeats. + const Member* familyMember(const Member& member) { + int family = familyOf(member.owner); + const std::string& baseId = member.symbol->genericBase; + auto capability = _classification.templates.find(baseId); + const Symbol* symbol = _module.find(baseId); + if (family < 0 || !_seenFamilyMembers.insert(baseId).second || + capability == _classification.templates.end() || !symbol) { + return nullptr; + } + Member generic = member; + generic.owner = family; + generic.symbol = symbol; + generic.capability = &capability->second; + generic.result = capability->second.result; + if (generic.kind == SwiftSurface::kInstanceProperty || + generic.kind == SwiftSurface::kStaticProperty) { + generic.result = capability->second.result; + } + _familyMembers.push_back(generic); + return &_familyMembers.back(); + } + + // A family's TypeScript type parameters, "", or "". + std::string typeParameters(const SwiftSurface::Type& type) const { + const Symbol* base = _module.find(type.symbol->genericBase); + if (!base || base->genericParameters.empty()) { + return ""; + } + std::vector names; + for (const auto& parameter : base->genericParameters) { + names.push_back(parameter.name); + } + return "<" + llvm::join(names, ", ") + ">"; + } + void buildGroups() { std::map, size_t> index; - for (const auto& member : _surface.members) { + for (const auto& original : _surface.members) { + const Member* resolved = &original; + if (familyOf(original.owner) >= 0) { + resolved = familyMember(original); + if (resolved == nullptr) { + continue; + } + } + const Member& member = *resolved; std::string module = member.owner < 0 ? member.module : ""; auto key = std::make_tuple(member.owner, static_cast(member.kind), member.capability->jsName, module); @@ -332,7 +397,24 @@ class Writer { std::string typeName(const BridgedType& type) const { int index = _surface.indexOf(type.symbolId); - return index >= 0 ? typePath(_surface.types[index]) : "unknown"; + if (index < 0) { + // A generic type's own declarations naming the type. + auto family = _families.find(type.symbolId); + index = family == _families.end() ? -1 : family->second; + } + if (index < 0) { + return "unknown"; + } + std::string name = typePath(_surface.types[index]); + if (!type.typeArguments.empty()) { + std::vector arguments; + for (const auto& argument : type.typeArguments) { + arguments.push_back( + argument.bridge == Bridge::None ? "unknown" : outputType(argument)); + } + name += "<" + llvm::join(arguments, ", ") + ">"; + } + return name; } // `type` as this module's declarations name it. @@ -378,6 +460,9 @@ class Writer { case Bridge::ObjCObject: ts = objcTypeName(type); break; + case Bridge::TypeParameter: + ts = type.objcClass; + break; case Bridge::Date: ts = "Date"; break; @@ -434,6 +519,9 @@ class Writer { case Bridge::ObjCObject: ts = objcTypeName(type); break; + case Bridge::TypeParameter: + ts = type.objcClass; + break; case Bridge::Date: ts = "Date"; break; @@ -574,7 +662,8 @@ class Writer { void buildTree() { for (const auto& type : _surface.types) { - if (type.module != _name) { + int family = familyOf(type.index); + if (type.module != _name || (family >= 0 && family != type.index)) { continue; } const auto& components = type.symbol->pathComponents; @@ -614,7 +703,7 @@ class Writer { const Symbol& symbol = *type.symbol; std::string inner = indent + " "; writeDoc(symbol, indent); - _out << indent << "export class " << symbol.name; + _out << indent << "export class " << symbol.name << typeParameters(type); if (type.superIndex >= 0) { _out << " extends " << typePath(_surface.types[type.superIndex]); } @@ -676,8 +765,16 @@ class Writer { std::string self = llvm::join(symbol.pathComponents, "."); std::string inner = indent + " "; bool tagged = type.kind == SwiftSurface::kTaggedEnum; + std::string parameters = typeParameters(type); + self += parameters; + std::vector caseMembers; + for (const Group& group : _groups) { + if (group.owner == type.index && group.kind == SwiftSurface::kEnumCase) { + caseMembers.push_back(group.overloads[0]); + } + } std::vector cases; - for (const Member* member : _surface.casesOf(type.index)) { + for (const Member* member : caseMembers) { const std::string& name = member->capability->jsName; if (!tagged) { cases.push_back("\"" + name + "\""); @@ -692,7 +789,7 @@ class Writer { cases.push_back(shape + " }"); } writeDoc(symbol, indent); - _out << indent << "export type " << symbol.name << " ="; + _out << indent << "export type " << symbol.name << parameters << " ="; if (cases.empty()) { _out << " never"; } else if (tagged) { @@ -762,6 +859,23 @@ class Writer { _out << indent << "}\n\n"; } + // Top-level typealiases whose type bridges (`Score = Pair`). + void writeTypeAliases() { + for (const auto& id : _module.topLevelIds) { + const Symbol* symbol = _module.find(id); + const Capability* capability = _classification.find(id); + if (!symbol || symbol->kind != SymbolKind::TypeAlias || !capability || + capability->result.bridge == Bridge::None || + (symbol->module.empty() ? _module.name : symbol->module) != _name || + !isIdentifier(symbol->name) || isReserved(symbol->name)) { + continue; + } + writeDoc(*symbol, " "); + _out << " export type " << symbol->name << " = " + << outputType(capability->result) << ";\n"; + } + } + void writeModuleMembers() { for (const Group& group : _groups) { if (group.owner >= 0 || group.module != _name) { @@ -790,8 +904,13 @@ class Writer { } const Module& _module; + const Classification& _classification; // The unit module these declarations are for. std::string _name; + // Generic type id -> the instantiation that declares the family. + std::map _families; + std::set _seenFamilyMembers; + std::deque _familyMembers; SwiftSurface _surface; std::vector _groups; std::map _nodes; diff --git a/metadata-generator/src/main.cpp b/metadata-generator/src/main.cpp index 77337f3e..3426177a 100644 --- a/metadata-generator/src/main.cpp +++ b/metadata-generator/src/main.cpp @@ -387,6 +387,9 @@ int main(int argc, const char** argv) swiftModules.modules.emplace(unit.name, std::move(unit)); } + for (auto& entry : swiftModules.modules) { + Swift::instantiateGenerics(entry.second); + } for (const auto& entry : swiftModules.modules) { const Swift::Module& module = entry.second; if (!cla_swiftIROutputDir.empty()) { diff --git a/metadata-generator/tests/swift/SymbolGraphLoaderTests.cpp b/metadata-generator/tests/swift/SymbolGraphLoaderTests.cpp index 6513c818..ac65d24a 100644 --- a/metadata-generator/tests/swift/SymbolGraphLoaderTests.cpp +++ b/metadata-generator/tests/swift/SymbolGraphLoaderTests.cpp @@ -82,6 +82,12 @@ TEST(TopLevelDeclarationsInSourceOrder) { "starterWallet(for:)", "sum(of:)", "flip(_:)", + "Score", + "makeScore(_:_:)", + "describe(_:)", + "boxed(_:)", + "countBox(_:)", + "settle(_:)", "Shape", "Polygon", "Square", @@ -149,7 +155,10 @@ TEST(TopLevelDeclarationsInSourceOrder) { "Money", "Wallet", "Coin", - "formatted(_:)"}; + "formatted(_:)", + "Pair", + "Box", + "Outcome"}; CHECK_EQ(llvm::join(names, ","), llvm::join(expected, ",")); } @@ -523,7 +532,9 @@ TEST(LoadOrderDoesNotChangeTheIR) { } ModuleSet set = reversed.finish(); REQUIRE(set.modules.count("SwiftDemo")); - CHECK(dumpModuleJSON(mergeUnit(set, "SwiftDemo")) == dumpModuleJSON(demo())); + Module unit = mergeUnit(set, "SwiftDemo"); + instantiateGenerics(unit); + CHECK(dumpModuleJSON(unit) == dumpModuleJSON(demo())); } TEST(InvalidJSONIsAnError) { diff --git a/metadata-generator/tests/swift/TestSupport.h b/metadata-generator/tests/swift/TestSupport.h index 5b499afb..bc9345bf 100644 --- a/metadata-generator/tests/swift/TestSupport.h +++ b/metadata-generator/tests/swift/TestSupport.h @@ -27,7 +27,9 @@ inline const ModuleSet& fixture() { inline const Module& demo() { static const Module unit = [] { ModuleSet set = loadSymbolGraphDirectory(SWIFT_FIXTURE_GRAPHS_DIR); - return mergeUnit(set, "SwiftDemo"); + Module unit = mergeUnit(set, "SwiftDemo"); + instantiateGenerics(unit); + return unit; }(); return unit; } diff --git a/metadata-generator/tests/swift/snapshots/SwiftDemo.coverage.json b/metadata-generator/tests/swift/snapshots/SwiftDemo.coverage.json index 8989495f..435e6e87 100644 --- a/metadata-generator/tests/swift/snapshots/SwiftDemo.coverage.json +++ b/metadata-generator/tests/swift/snapshots/SwiftDemo.coverage.json @@ -2,24 +2,24 @@ "module": "SwiftDemo", "totals": { "declarations": { - "total": 223, + "total": 262, "objc-direct": 1, - "swift-generated": 185, - "swift-specialized": 5, - "type-only": 6, + "swift-generated": 211, + "swift-specialized": 17, + "type-only": 7, "unsupported": 26, "not-applicable": 0 }, "callable": { - "total": 194, + "total": 224, "objc-direct": 0, - "swift-generated": 161, - "swift-specialized": 5, + "swift-generated": 182, + "swift-specialized": 14, "type-only": 3, "unsupported": 25, "not-applicable": 0 }, - "effectiveCallable": 161, + "effectiveCallable": 182, "compilerVerified": false, "compiledThunks": null, "runtimeTested": null @@ -35,64 +35,64 @@ "not-applicable": 0 }, "class": { - "total": 10, + "total": 13, "objc-direct": 1, - "swift-generated": 9, - "swift-specialized": 0, + "swift-generated": 11, + "swift-specialized": 1, "type-only": 0, "unsupported": 0, "not-applicable": 0 }, "enum": { - "total": 9, + "total": 11, "objc-direct": 0, - "swift-generated": 8, - "swift-specialized": 0, + "swift-generated": 9, + "swift-specialized": 1, "type-only": 0, "unsupported": 1, "not-applicable": 0 }, "enumCase": { - "total": 25, + "total": 29, "objc-direct": 0, - "swift-generated": 23, - "swift-specialized": 0, + "swift-generated": 25, + "swift-specialized": 2, "type-only": 0, "unsupported": 2, "not-applicable": 0 }, "function": { - "total": 48, + "total": 53, "objc-direct": 0, - "swift-generated": 48, + "swift-generated": 53, "swift-specialized": 0, "type-only": 0, "unsupported": 0, "not-applicable": 0 }, "initializer": { - "total": 21, + "total": 27, "objc-direct": 0, - "swift-generated": 20, - "swift-specialized": 0, + "swift-generated": 24, + "swift-specialized": 2, "type-only": 0, "unsupported": 1, "not-applicable": 0 }, "instanceMethod": { - "total": 45, + "total": 51, "objc-direct": 0, - "swift-generated": 31, - "swift-specialized": 5, + "swift-generated": 35, + "swift-specialized": 7, "type-only": 1, "unsupported": 8, "not-applicable": 0 }, "instanceProperty": { - "total": 37, + "total": 46, "objc-direct": 0, - "swift-generated": 31, - "swift-specialized": 0, + "swift-generated": 37, + "swift-specialized": 3, "type-only": 1, "unsupported": 5, "not-applicable": 0 @@ -125,20 +125,20 @@ "not-applicable": 0 }, "struct": { - "total": 6, + "total": 9, "objc-direct": 0, - "swift-generated": 6, - "swift-specialized": 0, + "swift-generated": 8, + "swift-specialized": 1, "type-only": 0, "unsupported": 0, "not-applicable": 0 }, "typeAlias": { - "total": 1, + "total": 2, "objc-direct": 0, "swift-generated": 0, "swift-specialized": 0, - "type-only": 1, + "type-only": 2, "unsupported": 0, "not-applicable": 0 }, @@ -175,9 +175,9 @@ "enum-associated-values": 1, "existential": 1, "external-type-extension": 2, - "generic": 8, + "generic": 11, "operator": 5, - "owner-not-bridged": 4, + "owner-not-bridged": 13, "subscript": 1, "unbridged-type": 12 }, @@ -192,6 +192,108 @@ ], "location": "file://Sources/SwiftDemo/Views.swift:18" }, + { + "id": "s:12SwiftDemoKit3BoxC", + "path": "Box", + "kind": "class", + "tier": "swift-specialized", + "reasons": [ + "generic" + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:51" + }, + { + "id": "s:12SwiftDemoKit3BoxC5valuexvp", + "path": "Box.value", + "kind": "instanceProperty", + "tier": "swift-specialized", + "reasons": [ + "owner-not-bridged" + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:52" + }, + { + "id": "s:12SwiftDemoKit3BoxC5valuexvp@s:12SwiftDemoKit3BoxC", + "path": "Box.value", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "value", + "location": "file://Sources/SwiftDemoKit/Money.swift:52" + }, + { + "id": "s:12SwiftDemoKit3BoxC5valuexvp@s:12SwiftDemoKit3BoxC", + "path": "Box.value", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "value", + "location": "file://Sources/SwiftDemoKit/Money.swift:52" + }, + { + "id": "s:12SwiftDemoKit3BoxC8replaced4withACyxGx_tF", + "path": "Box.replaced(with:)", + "kind": "instanceMethod", + "tier": "swift-specialized", + "reasons": [ + "owner-not-bridged" + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:54" + }, + { + "id": "s:12SwiftDemoKit3BoxC8replaced4withACyxGx_tF@s:12SwiftDemoKit3BoxC", + "path": "Box.replaced(with:)", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "replaced", + "location": "file://Sources/SwiftDemoKit/Money.swift:54" + }, + { + "id": "s:12SwiftDemoKit3BoxC8replaced4withACyxGx_tF@s:12SwiftDemoKit3BoxC", + "path": "Box.replaced(with:)", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "replaced", + "location": "file://Sources/SwiftDemoKit/Money.swift:54" + }, + { + "id": "s:12SwiftDemoKit3BoxC", + "path": "Box", + "kind": "class", + "tier": "swift-generated", + "location": "file://Sources/SwiftDemoKit/Money.swift:51" + }, + { + "id": "s:12SwiftDemoKit3BoxC", + "path": "Box", + "kind": "class", + "tier": "swift-generated", + "location": "file://Sources/SwiftDemoKit/Money.swift:51" + }, + { + "id": "s:12SwiftDemoKit3BoxCyACyxGxcfc", + "path": "Box.init(_:)", + "kind": "initializer", + "tier": "swift-specialized", + "reasons": [ + "owner-not-bridged" + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:53" + }, + { + "id": "s:12SwiftDemoKit3BoxCyACyxGxcfc@s:12SwiftDemoKit3BoxC", + "path": "Box.init(_:)", + "kind": "initializer", + "tier": "swift-generated", + "jsName": "constructor", + "location": "file://Sources/SwiftDemoKit/Money.swift:53" + }, + { + "id": "s:12SwiftDemoKit3BoxCyACyxGxcfc@s:12SwiftDemoKit3BoxC", + "path": "Box.init(_:)", + "kind": "initializer", + "tier": "swift-generated", + "jsName": "constructor", + "location": "file://Sources/SwiftDemoKit/Money.swift:53" + }, { "id": "s:12SwiftDemoKit4CoinO", "path": "Coin", @@ -215,6 +317,134 @@ "jsName": "penny", "location": "file://Sources/SwiftDemoKit/Money.swift:31" }, + { + "id": "s:12SwiftDemoKit4PairV", + "path": "Pair", + "kind": "struct", + "tier": "swift-specialized", + "reasons": [ + "generic" + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:39" + }, + { + "id": "s:12SwiftDemoKit4PairV5first6secondACyxq_Gx_q_tcfc", + "path": "Pair.init(first:second:)", + "kind": "initializer", + "tier": "swift-specialized", + "reasons": [ + "owner-not-bridged" + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:43" + }, + { + "id": "s:12SwiftDemoKit4PairV5first6secondACyxq_Gx_q_tcfc@s:12SwiftDemoKit4PairV", + "path": "Pair.init(first:second:)", + "kind": "initializer", + "tier": "swift-generated", + "jsName": "constructor", + "location": "file://Sources/SwiftDemoKit/Money.swift:43" + }, + { + "id": "s:12SwiftDemoKit4PairV5first6secondACyxq_Gx_q_tcfc@s:12SwiftDemoKit4PairV", + "path": "Pair.init(first:second:)", + "kind": "initializer", + "tier": "swift-generated", + "jsName": "constructor", + "location": "file://Sources/SwiftDemoKit/Money.swift:43" + }, + { + "id": "s:12SwiftDemoKit4PairV5firstxvp", + "path": "Pair.first", + "kind": "instanceProperty", + "tier": "swift-specialized", + "reasons": [ + "owner-not-bridged" + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:40" + }, + { + "id": "s:12SwiftDemoKit4PairV5firstxvp@s:12SwiftDemoKit4PairV", + "path": "Pair.first", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "first", + "location": "file://Sources/SwiftDemoKit/Money.swift:40" + }, + { + "id": "s:12SwiftDemoKit4PairV5firstxvp@s:12SwiftDemoKit4PairV", + "path": "Pair.first", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "first", + "location": "file://Sources/SwiftDemoKit/Money.swift:40" + }, + { + "id": "s:12SwiftDemoKit4PairV6secondq_vp", + "path": "Pair.second", + "kind": "instanceProperty", + "tier": "swift-specialized", + "reasons": [ + "owner-not-bridged" + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:41" + }, + { + "id": "s:12SwiftDemoKit4PairV6secondq_vp@s:12SwiftDemoKit4PairV", + "path": "Pair.second", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "second", + "location": "file://Sources/SwiftDemoKit/Money.swift:41" + }, + { + "id": "s:12SwiftDemoKit4PairV6secondq_vp@s:12SwiftDemoKit4PairV", + "path": "Pair.second", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "second", + "location": "file://Sources/SwiftDemoKit/Money.swift:41" + }, + { + "id": "s:12SwiftDemoKit4PairV7swappedACyq_xGyF", + "path": "Pair.swapped()", + "kind": "instanceMethod", + "tier": "swift-specialized", + "reasons": [ + "owner-not-bridged" + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:48" + }, + { + "id": "s:12SwiftDemoKit4PairV7swappedACyq_xGyF@s:12SwiftDemoKit4PairV", + "path": "Pair.swapped()", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "swapped", + "location": "file://Sources/SwiftDemoKit/Money.swift:48" + }, + { + "id": "s:12SwiftDemoKit4PairV7swappedACyq_xGyF@s:12SwiftDemoKit4PairV", + "path": "Pair.swapped()", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "swapped", + "location": "file://Sources/SwiftDemoKit/Money.swift:48" + }, + { + "id": "s:12SwiftDemoKit4PairV", + "path": "Pair", + "kind": "struct", + "tier": "swift-generated", + "location": "file://Sources/SwiftDemoKit/Money.swift:39" + }, + { + "id": "s:12SwiftDemoKit4PairV", + "path": "Pair", + "kind": "struct", + "tier": "swift-generated", + "location": "file://Sources/SwiftDemoKit/Money.swift:39" + }, { "id": "s:12SwiftDemoKit5MoneyV", "path": "Money", @@ -317,6 +547,59 @@ "jsName": "deposit", "location": "file://Sources/SwiftDemoKit/Money.swift:27" }, + { + "id": "s:12SwiftDemoKit7OutcomeO", + "path": "Outcome", + "kind": "enum", + "tier": "swift-specialized", + "reasons": [ + "generic" + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:57" + }, + { + "id": "s:12SwiftDemoKit7OutcomeO4doneyACyxGxcAEmlF", + "path": "Outcome.done(_:)", + "kind": "enumCase", + "tier": "swift-specialized", + "reasons": [ + "owner-not-bridged" + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:58" + }, + { + "id": "s:12SwiftDemoKit7OutcomeO4doneyACyxGxcAEmlF@s:12SwiftDemoKit7OutcomeO", + "path": "Outcome.done(_:)", + "kind": "enumCase", + "tier": "swift-generated", + "jsName": "done", + "location": "file://Sources/SwiftDemoKit/Money.swift:58" + }, + { + "id": "s:12SwiftDemoKit7OutcomeO6failedyACyxGSS_tcAEmlF", + "path": "Outcome.failed(reason:)", + "kind": "enumCase", + "tier": "swift-specialized", + "reasons": [ + "owner-not-bridged" + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:59" + }, + { + "id": "s:12SwiftDemoKit7OutcomeO6failedyACyxGSS_tcAEmlF@s:12SwiftDemoKit7OutcomeO", + "path": "Outcome.failed(reason:)", + "kind": "enumCase", + "tier": "swift-generated", + "jsName": "failed", + "location": "file://Sources/SwiftDemoKit/Money.swift:59" + }, + { + "id": "s:12SwiftDemoKit7OutcomeO", + "path": "Outcome", + "kind": "enum", + "tier": "swift-generated", + "location": "file://Sources/SwiftDemoKit/Money.swift:57" + }, { "id": "s:12SwiftDemoKit9formattedySSAA5MoneyVF", "path": "formatted(_:)", @@ -883,6 +1166,16 @@ "jsName": "length", "location": "file://Sources/SwiftDemo/Extensions.swift:11" }, + { + "id": "s:9SwiftDemo5Scorea", + "path": "Score", + "kind": "typeAlias", + "tier": "type-only", + "reasons": [ + "type-alias" + ], + "location": "file://Sources/SwiftDemo/Purse.swift:26" + }, { "id": "s:9SwiftDemo5ShapeP", "path": "Shape", @@ -913,6 +1206,14 @@ ], "location": "file://Sources/SwiftDemo/Shapes.swift:5" }, + { + "id": "s:9SwiftDemo5boxedy0aB3Kit3BoxCyAC5MoneyVGAGF", + "path": "boxed(_:)", + "kind": "function", + "tier": "swift-generated", + "jsName": "boxed", + "location": "file://Sources/SwiftDemo/Purse.swift:30" + }, { "id": "s:9SwiftDemo5clearyySSSgzF", "path": "clear(_:)", @@ -1196,6 +1497,14 @@ "jsName": "append", "location": "file://Sources/SwiftDemo/Values.swift:167" }, + { + "id": "s:9SwiftDemo6settley0aB3Kit7OutcomeOySiGSiF", + "path": "settle(_:)", + "kind": "function", + "tier": "swift-generated", + "jsName": "settle", + "location": "file://Sources/SwiftDemo/Purse.swift:32" + }, { "id": "s:9SwiftDemo7CounterC", "path": "Counter", @@ -1706,6 +2015,22 @@ "jsName": "checksum", "location": "file://Sources/SwiftDemo/Values.swift:68" }, + { + "id": "s:9SwiftDemo8countBoxy0aB3Kit0D0CySiGSiF", + "path": "countBox(_:)", + "kind": "function", + "tier": "swift-generated", + "jsName": "countBox", + "location": "file://Sources/SwiftDemo/Purse.swift:31" + }, + { + "id": "s:9SwiftDemo8describeySS0aB3Kit4PairVySiSSGF", + "path": "describe(_:)", + "kind": "function", + "tier": "swift-generated", + "jsName": "describe", + "location": "file://Sources/SwiftDemo/Purse.swift:29" + }, { "id": "s:9SwiftDemo8describeySSSo6UIViewCF", "path": "describe(_:)", @@ -1770,6 +2095,14 @@ "jsName": "makeLabel", "location": "file://Sources/SwiftDemo/Views.swift:8" }, + { + "id": "s:9SwiftDemo9makeScorey0aB3Kit4PairVySSSiGSS_SitF", + "path": "makeScore(_:_:)", + "kind": "function", + "tier": "swift-generated", + "jsName": "makeScore", + "location": "file://Sources/SwiftDemo/Purse.swift:28" + }, { "id": "s:9SwiftDemo9noteLateryAA4NoteCSSYaF", "path": "noteLater(_:)", diff --git a/metadata-generator/tests/swift/snapshots/SwiftDemo.ir.json b/metadata-generator/tests/swift/snapshots/SwiftDemo.ir.json index e281d7ac..c733a0e8 100644 --- a/metadata-generator/tests/swift/snapshots/SwiftDemo.ir.json +++ b/metadata-generator/tests/swift/snapshots/SwiftDemo.ir.json @@ -22,6 +22,12 @@ "s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF", "s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF", "s:9SwiftDemo4flipy0aB3Kit4CoinOAEF", + "s:9SwiftDemo5Scorea", + "s:9SwiftDemo9makeScorey0aB3Kit4PairVySSSiGSS_SitF", + "s:9SwiftDemo8describeySS0aB3Kit4PairVySiSSGF", + "s:9SwiftDemo5boxedy0aB3Kit3BoxCyAC5MoneyVGAGF", + "s:9SwiftDemo8countBoxy0aB3Kit0D0CySiGSiF", + "s:9SwiftDemo6settley0aB3Kit7OutcomeOySiGSiF", "s:9SwiftDemo5ShapeP", "s:9SwiftDemo7PolygonC", "s:9SwiftDemo6SquareC", @@ -89,7 +95,10 @@ "s:12SwiftDemoKit5MoneyV", "s:12SwiftDemoKit6WalletC", "s:12SwiftDemoKit4CoinO", - "s:12SwiftDemoKit9formattedySSAA5MoneyVF" + "s:12SwiftDemoKit9formattedySSAA5MoneyVF", + "s:12SwiftDemoKit4PairV", + "s:12SwiftDemoKit3BoxC", + "s:12SwiftDemoKit7OutcomeO" ], "externalTypes": [ { @@ -156,46 +165,670 @@ ], "superclass": "c:objc(cs)NSObject" }, + { + "id": "s:12SwiftDemoKit3BoxC", + "kind": "class", + "path": "Box", + "name": "Box", + "access": "public", + "declaration": "final class Box", + "modifiers": [ + "final" + ], + "genericParameters": [ + { + "name": "Value", + "depth": 0, + "index": 0 + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:50:19", + "graph": "SwiftDemoKit.symbols.json", + "members": [ + "s:12SwiftDemoKit3BoxC5valuexvp", + "s:12SwiftDemoKit3BoxCyACyxGxcfc", + "s:12SwiftDemoKit3BoxC8replaced4withACyxGx_tF" + ] + }, + { + "id": "s:12SwiftDemoKit3BoxC5valuexvp", + "kind": "instanceProperty", + "path": "Box.value", + "name": "value", + "access": "public", + "declaration": "var value: Value", + "valueType": { + "spelling": "Value", + "references": [ + "s:12SwiftDemoKit3BoxC5Valuexmfp" + ] + }, + "settable": true, + "location": "file://Sources/SwiftDemoKit/Money.swift:51:15", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit3BoxC" + }, + { + "id": "s:12SwiftDemoKit3BoxC5valuexvp@s:12SwiftDemoKit3BoxC", + "kind": "instanceProperty", + "path": "Box.value", + "name": "value", + "access": "public", + "declaration": "var value: Value", + "valueType": { + "spelling": "Value", + "references": [ + "s:12SwiftDemoKit3BoxC5Valuexmfp" + ] + }, + "settable": true, + "location": "file://Sources/SwiftDemoKit/Money.swift:51:15", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit3BoxC" + }, + { + "id": "s:12SwiftDemoKit3BoxC5valuexvp@s:12SwiftDemoKit3BoxC", + "kind": "instanceProperty", + "path": "Box.value", + "name": "value", + "access": "public", + "declaration": "var value: Value", + "valueType": { + "spelling": "Value", + "references": [ + "s:12SwiftDemoKit3BoxC5Valuexmfp" + ] + }, + "settable": true, + "location": "file://Sources/SwiftDemoKit/Money.swift:51:15", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit3BoxC" + }, + { + "id": "s:12SwiftDemoKit3BoxC8replaced4withACyxGx_tF", + "kind": "instanceMethod", + "path": "Box.replaced(with:)", + "name": "replaced(with:)", + "access": "public", + "declaration": "func replaced(with value: Value) -> Box", + "parameters": [ + { + "label": "with", + "internalName": "value", + "type": { + "spelling": "Value", + "references": [ + "s:12SwiftDemoKit3BoxC5Valuexmfp" + ] + } + } + ], + "returns": { + "spelling": "Box", + "references": [ + "s:12SwiftDemoKit3BoxC" + ] + }, + "genericParameters": [ + { + "name": "Value", + "depth": 0, + "index": 0 + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:53:16", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit3BoxC" + }, + { + "id": "s:12SwiftDemoKit3BoxC8replaced4withACyxGx_tF@s:12SwiftDemoKit3BoxC", + "kind": "instanceMethod", + "path": "Box.replaced(with:)", + "name": "replaced(with:)", + "access": "public", + "declaration": "func replaced(with value: Value) -> Box", + "parameters": [ + { + "label": "with", + "internalName": "value", + "type": { + "spelling": "Value", + "references": [ + "s:12SwiftDemoKit3BoxC5Valuexmfp" + ] + } + } + ], + "returns": { + "spelling": "Box", + "references": [ + "s:12SwiftDemoKit3BoxC" + ] + }, + "location": "file://Sources/SwiftDemoKit/Money.swift:53:16", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit3BoxC" + }, + { + "id": "s:12SwiftDemoKit3BoxC8replaced4withACyxGx_tF@s:12SwiftDemoKit3BoxC", + "kind": "instanceMethod", + "path": "Box.replaced(with:)", + "name": "replaced(with:)", + "access": "public", + "declaration": "func replaced(with value: Value) -> Box", + "parameters": [ + { + "label": "with", + "internalName": "value", + "type": { + "spelling": "Value", + "references": [ + "s:12SwiftDemoKit3BoxC5Valuexmfp" + ] + } + } + ], + "returns": { + "spelling": "Box", + "references": [ + "s:12SwiftDemoKit3BoxC" + ] + }, + "location": "file://Sources/SwiftDemoKit/Money.swift:53:16", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit3BoxC" + }, + { + "id": "s:12SwiftDemoKit3BoxC", + "kind": "class", + "path": "Box", + "name": "Box", + "access": "public", + "declaration": "final class Box", + "modifiers": [ + "final" + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:50:19", + "graph": "SwiftDemoKit.symbols.json", + "members": [ + "s:12SwiftDemoKit3BoxC5valuexvp@s:12SwiftDemoKit3BoxC", + "s:12SwiftDemoKit3BoxCyACyxGxcfc@s:12SwiftDemoKit3BoxC", + "s:12SwiftDemoKit3BoxC8replaced4withACyxGx_tF@s:12SwiftDemoKit3BoxC" + ] + }, + { + "id": "s:12SwiftDemoKit3BoxC", + "kind": "class", + "path": "Box", + "name": "Box", + "access": "public", + "declaration": "final class Box", + "modifiers": [ + "final" + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:50:19", + "graph": "SwiftDemoKit.symbols.json", + "members": [ + "s:12SwiftDemoKit3BoxC5valuexvp@s:12SwiftDemoKit3BoxC", + "s:12SwiftDemoKit3BoxCyACyxGxcfc@s:12SwiftDemoKit3BoxC", + "s:12SwiftDemoKit3BoxC8replaced4withACyxGx_tF@s:12SwiftDemoKit3BoxC" + ] + }, + { + "id": "s:12SwiftDemoKit3BoxCyACyxGxcfc", + "kind": "initializer", + "path": "Box.init(_:)", + "name": "init(_:)", + "access": "public", + "declaration": "init(_ value: Value)", + "parameters": [ + { + "internalName": "value", + "type": { + "spelling": "Value", + "references": [ + "s:12SwiftDemoKit3BoxC5Valuexmfp" + ] + } + } + ], + "genericParameters": [ + { + "name": "Value", + "depth": 0, + "index": 0 + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:52:11", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit3BoxC" + }, + { + "id": "s:12SwiftDemoKit3BoxCyACyxGxcfc@s:12SwiftDemoKit3BoxC", + "kind": "initializer", + "path": "Box.init(_:)", + "name": "init(_:)", + "access": "public", + "declaration": "init(_ value: Value)", + "parameters": [ + { + "internalName": "value", + "type": { + "spelling": "Value", + "references": [ + "s:12SwiftDemoKit3BoxC5Valuexmfp" + ] + } + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:52:11", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit3BoxC" + }, + { + "id": "s:12SwiftDemoKit3BoxCyACyxGxcfc@s:12SwiftDemoKit3BoxC", + "kind": "initializer", + "path": "Box.init(_:)", + "name": "init(_:)", + "access": "public", + "declaration": "init(_ value: Value)", + "parameters": [ + { + "internalName": "value", + "type": { + "spelling": "Value", + "references": [ + "s:12SwiftDemoKit3BoxC5Valuexmfp" + ] + } + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:52:11", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit3BoxC" + }, { "id": "s:12SwiftDemoKit4CoinO", "kind": "enum", "path": "Coin", "name": "Coin", "access": "public", - "declaration": "enum Coin", - "location": "file://Sources/SwiftDemoKit/Money.swift:29:12", + "declaration": "enum Coin", + "location": "file://Sources/SwiftDemoKit/Money.swift:29:12", + "graph": "SwiftDemoKit.symbols.json", + "members": [ + "s:12SwiftDemoKit4CoinO5pennyyA2CmF", + "s:12SwiftDemoKit4CoinO4dimeyA2CmF", + "s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:12SwiftDemoKit4CoinO" + ], + "conformances": [ + "s:SH", + "s:SQ" + ] + }, + { + "id": "s:12SwiftDemoKit4CoinO4dimeyA2CmF", + "kind": "enumCase", + "path": "Coin.dime", + "name": "dime", + "access": "public", + "declaration": "case dime", + "location": "file://Sources/SwiftDemoKit/Money.swift:30:16", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit4CoinO" + }, + { + "id": "s:12SwiftDemoKit4CoinO5pennyyA2CmF", + "kind": "enumCase", + "path": "Coin.penny", + "name": "penny", + "access": "public", + "declaration": "case penny", + "location": "file://Sources/SwiftDemoKit/Money.swift:30:9", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit4CoinO" + }, + { + "id": "s:12SwiftDemoKit4PairV", + "kind": "struct", + "path": "Pair", + "name": "Pair", + "access": "public", + "declaration": "struct Pair", + "genericParameters": [ + { + "name": "First", + "depth": 0, + "index": 0 + }, + { + "name": "Second", + "depth": 0, + "index": 1 + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:38:14", + "graph": "SwiftDemoKit.symbols.json", + "members": [ + "s:12SwiftDemoKit4PairV5firstxvp", + "s:12SwiftDemoKit4PairV6secondq_vp", + "s:12SwiftDemoKit4PairV5first6secondACyxq_Gx_q_tcfc", + "s:12SwiftDemoKit4PairV7swappedACyq_xGyF" + ] + }, + { + "id": "s:12SwiftDemoKit4PairV5first6secondACyxq_Gx_q_tcfc", + "kind": "initializer", + "path": "Pair.init(first:second:)", + "name": "init(first:second:)", + "access": "public", + "declaration": "init(first: First, second: Second)", + "parameters": [ + { + "label": "first", + "internalName": "first", + "type": { + "spelling": "First", + "references": [ + "s:12SwiftDemoKit4PairV5Firstxmfp" + ] + } + }, + { + "label": "second", + "internalName": "second", + "type": { + "spelling": "Second", + "references": [ + "s:12SwiftDemoKit4PairV6Secondq_mfp" + ] + } + } + ], + "genericParameters": [ + { + "name": "First", + "depth": 0, + "index": 0 + }, + { + "name": "Second", + "depth": 0, + "index": 1 + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:42:11", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit4PairV" + }, + { + "id": "s:12SwiftDemoKit4PairV5first6secondACyxq_Gx_q_tcfc@s:12SwiftDemoKit4PairV", + "kind": "initializer", + "path": "Pair.init(first:second:)", + "name": "init(first:second:)", + "access": "public", + "declaration": "init(first: First, second: Second)", + "parameters": [ + { + "label": "first", + "internalName": "first", + "type": { + "spelling": "First", + "references": [ + "s:12SwiftDemoKit4PairV5Firstxmfp" + ] + } + }, + { + "label": "second", + "internalName": "second", + "type": { + "spelling": "Second", + "references": [ + "s:12SwiftDemoKit4PairV6Secondq_mfp" + ] + } + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:42:11", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit4PairV" + }, + { + "id": "s:12SwiftDemoKit4PairV5first6secondACyxq_Gx_q_tcfc@s:12SwiftDemoKit4PairV", + "kind": "initializer", + "path": "Pair.init(first:second:)", + "name": "init(first:second:)", + "access": "public", + "declaration": "init(first: First, second: Second)", + "parameters": [ + { + "label": "first", + "internalName": "first", + "type": { + "spelling": "First", + "references": [ + "s:12SwiftDemoKit4PairV5Firstxmfp" + ] + } + }, + { + "label": "second", + "internalName": "second", + "type": { + "spelling": "Second", + "references": [ + "s:12SwiftDemoKit4PairV6Secondq_mfp" + ] + } + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:42:11", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit4PairV" + }, + { + "id": "s:12SwiftDemoKit4PairV5firstxvp", + "kind": "instanceProperty", + "path": "Pair.first", + "name": "first", + "access": "public", + "declaration": "var first: First", + "valueType": { + "spelling": "First", + "references": [ + "s:12SwiftDemoKit4PairV5Firstxmfp" + ] + }, + "settable": true, + "location": "file://Sources/SwiftDemoKit/Money.swift:39:15", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit4PairV" + }, + { + "id": "s:12SwiftDemoKit4PairV5firstxvp@s:12SwiftDemoKit4PairV", + "kind": "instanceProperty", + "path": "Pair.first", + "name": "first", + "access": "public", + "declaration": "var first: First", + "valueType": { + "spelling": "First", + "references": [ + "s:12SwiftDemoKit4PairV5Firstxmfp" + ] + }, + "settable": true, + "location": "file://Sources/SwiftDemoKit/Money.swift:39:15", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit4PairV" + }, + { + "id": "s:12SwiftDemoKit4PairV5firstxvp@s:12SwiftDemoKit4PairV", + "kind": "instanceProperty", + "path": "Pair.first", + "name": "first", + "access": "public", + "declaration": "var first: First", + "valueType": { + "spelling": "First", + "references": [ + "s:12SwiftDemoKit4PairV5Firstxmfp" + ] + }, + "settable": true, + "location": "file://Sources/SwiftDemoKit/Money.swift:39:15", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit4PairV" + }, + { + "id": "s:12SwiftDemoKit4PairV6secondq_vp", + "kind": "instanceProperty", + "path": "Pair.second", + "name": "second", + "access": "public", + "declaration": "var second: Second", + "valueType": { + "spelling": "Second", + "references": [ + "s:12SwiftDemoKit4PairV6Secondq_mfp" + ] + }, + "settable": true, + "location": "file://Sources/SwiftDemoKit/Money.swift:40:15", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit4PairV" + }, + { + "id": "s:12SwiftDemoKit4PairV6secondq_vp@s:12SwiftDemoKit4PairV", + "kind": "instanceProperty", + "path": "Pair.second", + "name": "second", + "access": "public", + "declaration": "var second: Second", + "valueType": { + "spelling": "Second", + "references": [ + "s:12SwiftDemoKit4PairV6Secondq_mfp" + ] + }, + "settable": true, + "location": "file://Sources/SwiftDemoKit/Money.swift:40:15", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit4PairV" + }, + { + "id": "s:12SwiftDemoKit4PairV6secondq_vp@s:12SwiftDemoKit4PairV", + "kind": "instanceProperty", + "path": "Pair.second", + "name": "second", + "access": "public", + "declaration": "var second: Second", + "valueType": { + "spelling": "Second", + "references": [ + "s:12SwiftDemoKit4PairV6Secondq_mfp" + ] + }, + "settable": true, + "location": "file://Sources/SwiftDemoKit/Money.swift:40:15", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit4PairV" + }, + { + "id": "s:12SwiftDemoKit4PairV7swappedACyq_xGyF", + "kind": "instanceMethod", + "path": "Pair.swapped()", + "name": "swapped()", + "access": "public", + "declaration": "func swapped() -> Pair", + "returns": { + "spelling": "Pair", + "references": [ + "s:12SwiftDemoKit4PairV" + ] + }, + "genericParameters": [ + { + "name": "First", + "depth": 0, + "index": 0 + }, + { + "name": "Second", + "depth": 0, + "index": 1 + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:47:16", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit4PairV" + }, + { + "id": "s:12SwiftDemoKit4PairV7swappedACyq_xGyF@s:12SwiftDemoKit4PairV", + "kind": "instanceMethod", + "path": "Pair.swapped()", + "name": "swapped()", + "access": "public", + "declaration": "func swapped() -> Pair", + "returns": { + "spelling": "Pair", + "references": [ + "s:12SwiftDemoKit4PairV" + ] + }, + "location": "file://Sources/SwiftDemoKit/Money.swift:47:16", "graph": "SwiftDemoKit.symbols.json", - "members": [ - "s:12SwiftDemoKit4CoinO5pennyyA2CmF", - "s:12SwiftDemoKit4CoinO4dimeyA2CmF", - "s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:12SwiftDemoKit4CoinO" - ], - "conformances": [ - "s:SH", - "s:SQ" - ] + "parent": "s:12SwiftDemoKit4PairV" }, { - "id": "s:12SwiftDemoKit4CoinO4dimeyA2CmF", - "kind": "enumCase", - "path": "Coin.dime", - "name": "dime", + "id": "s:12SwiftDemoKit4PairV7swappedACyq_xGyF@s:12SwiftDemoKit4PairV", + "kind": "instanceMethod", + "path": "Pair.swapped()", + "name": "swapped()", "access": "public", - "declaration": "case dime", - "location": "file://Sources/SwiftDemoKit/Money.swift:30:16", + "declaration": "func swapped() -> Pair", + "returns": { + "spelling": "Pair", + "references": [ + "s:12SwiftDemoKit4PairV" + ] + }, + "location": "file://Sources/SwiftDemoKit/Money.swift:47:16", "graph": "SwiftDemoKit.symbols.json", - "parent": "s:12SwiftDemoKit4CoinO" + "parent": "s:12SwiftDemoKit4PairV" }, { - "id": "s:12SwiftDemoKit4CoinO5pennyyA2CmF", - "kind": "enumCase", - "path": "Coin.penny", - "name": "penny", + "id": "s:12SwiftDemoKit4PairV", + "kind": "struct", + "path": "Pair", + "name": "Pair", "access": "public", - "declaration": "case penny", - "location": "file://Sources/SwiftDemoKit/Money.swift:30:9", + "declaration": "struct Pair", + "location": "file://Sources/SwiftDemoKit/Money.swift:38:14", "graph": "SwiftDemoKit.symbols.json", - "parent": "s:12SwiftDemoKit4CoinO" + "members": [ + "s:12SwiftDemoKit4PairV5firstxvp@s:12SwiftDemoKit4PairV", + "s:12SwiftDemoKit4PairV6secondq_vp@s:12SwiftDemoKit4PairV", + "s:12SwiftDemoKit4PairV5first6secondACyxq_Gx_q_tcfc@s:12SwiftDemoKit4PairV", + "s:12SwiftDemoKit4PairV7swappedACyq_xGyF@s:12SwiftDemoKit4PairV" + ] + }, + { + "id": "s:12SwiftDemoKit4PairV", + "kind": "struct", + "path": "Pair", + "name": "Pair", + "access": "public", + "declaration": "struct Pair", + "location": "file://Sources/SwiftDemoKit/Money.swift:38:14", + "graph": "SwiftDemoKit.symbols.json", + "members": [ + "s:12SwiftDemoKit4PairV5firstxvp@s:12SwiftDemoKit4PairV", + "s:12SwiftDemoKit4PairV6secondq_vp@s:12SwiftDemoKit4PairV", + "s:12SwiftDemoKit4PairV5first6secondACyxq_Gx_q_tcfc@s:12SwiftDemoKit4PairV", + "s:12SwiftDemoKit4PairV7swappedACyq_xGyF@s:12SwiftDemoKit4PairV" + ] }, { "id": "s:12SwiftDemoKit5MoneyV", @@ -478,6 +1111,129 @@ "graph": "SwiftDemoKit.symbols.json", "parent": "s:12SwiftDemoKit6WalletC" }, + { + "id": "s:12SwiftDemoKit7OutcomeO", + "kind": "enum", + "path": "Outcome", + "name": "Outcome", + "access": "public", + "declaration": "enum Outcome", + "genericParameters": [ + { + "name": "Value", + "depth": 0, + "index": 0 + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:56:12", + "graph": "SwiftDemoKit.symbols.json", + "members": [ + "s:12SwiftDemoKit7OutcomeO4doneyACyxGxcAEmlF", + "s:12SwiftDemoKit7OutcomeO6failedyACyxGSS_tcAEmlF" + ] + }, + { + "id": "s:12SwiftDemoKit7OutcomeO4doneyACyxGxcAEmlF", + "kind": "enumCase", + "path": "Outcome.done(_:)", + "name": "done(_:)", + "access": "public", + "declaration": "case done(Value)", + "parameters": [ + { + "type": { + "spelling": "Value", + "references": [ + "s:12SwiftDemoKit7OutcomeO5Valuexmfp" + ] + } + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:57:9", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit7OutcomeO" + }, + { + "id": "s:12SwiftDemoKit7OutcomeO4doneyACyxGxcAEmlF@s:12SwiftDemoKit7OutcomeO", + "kind": "enumCase", + "path": "Outcome.done(_:)", + "name": "done(_:)", + "access": "public", + "declaration": "case done(Value)", + "parameters": [ + { + "type": { + "spelling": "Value", + "references": [ + "s:12SwiftDemoKit7OutcomeO5Valuexmfp" + ] + } + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:57:9", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit7OutcomeO" + }, + { + "id": "s:12SwiftDemoKit7OutcomeO6failedyACyxGSS_tcAEmlF", + "kind": "enumCase", + "path": "Outcome.failed(reason:)", + "name": "failed(reason:)", + "access": "public", + "declaration": "case failed(reason: String)", + "parameters": [ + { + "label": "reason", + "internalName": "reason", + "type": { + "spelling": "String", + "references": [ + "s:SS" + ] + } + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:58:9", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit7OutcomeO" + }, + { + "id": "s:12SwiftDemoKit7OutcomeO6failedyACyxGSS_tcAEmlF@s:12SwiftDemoKit7OutcomeO", + "kind": "enumCase", + "path": "Outcome.failed(reason:)", + "name": "failed(reason:)", + "access": "public", + "declaration": "case failed(reason: String)", + "parameters": [ + { + "label": "reason", + "internalName": "reason", + "type": { + "spelling": "String", + "references": [ + "s:SS" + ] + } + } + ], + "location": "file://Sources/SwiftDemoKit/Money.swift:58:9", + "graph": "SwiftDemoKit.symbols.json", + "parent": "s:12SwiftDemoKit7OutcomeO" + }, + { + "id": "s:12SwiftDemoKit7OutcomeO", + "kind": "enum", + "path": "Outcome", + "name": "Outcome", + "access": "public", + "declaration": "enum Outcome", + "location": "file://Sources/SwiftDemoKit/Money.swift:56:12", + "graph": "SwiftDemoKit.symbols.json", + "members": [ + "s:12SwiftDemoKit7OutcomeO4doneyACyxGxcAEmlF@s:12SwiftDemoKit7OutcomeO", + "s:12SwiftDemoKit7OutcomeO6failedyACyxGSS_tcAEmlF@s:12SwiftDemoKit7OutcomeO" + ] + }, { "id": "s:12SwiftDemoKit9formattedySSAA5MoneyVF", "kind": "function", @@ -2082,6 +2838,24 @@ "graph": "SwiftDemo.symbols.json", "parent": "s:9SwiftDemo5PointV" }, + { + "id": "s:9SwiftDemo5Scorea", + "kind": "typeAlias", + "path": "Score", + "name": "Score", + "access": "public", + "declaration": "typealias Score = Pair", + "aliasedType": { + "spelling": "Pair", + "references": [ + "s:12SwiftDemoKit4PairV", + "s:SS", + "s:Si" + ] + }, + "location": "file://Sources/SwiftDemo/Purse.swift:25:17", + "graph": "SwiftDemo.symbols.json" + }, { "id": "s:9SwiftDemo5ShapeP", "kind": "protocol", @@ -2141,6 +2915,34 @@ "graph": "SwiftDemo.symbols.json", "parent": "s:9SwiftDemo5ShapeP" }, + { + "id": "s:9SwiftDemo5boxedy0aB3Kit3BoxCyAC5MoneyVGAGF", + "kind": "function", + "path": "boxed(_:)", + "name": "boxed(_:)", + "access": "public", + "declaration": "func boxed(_ money: Money) -> Box", + "parameters": [ + { + "internalName": "money", + "type": { + "spelling": "Money", + "references": [ + "s:12SwiftDemoKit5MoneyV" + ] + } + } + ], + "returns": { + "spelling": "Box", + "references": [ + "s:12SwiftDemoKit3BoxC", + "s:12SwiftDemoKit5MoneyV" + ] + }, + "location": "file://Sources/SwiftDemo/Purse.swift:29:12", + "graph": "SwiftDemo.symbols.json" + }, { "id": "s:9SwiftDemo5clearyySSSgzF", "kind": "function", @@ -2990,6 +3792,34 @@ "location": "file://Sources/SwiftDemo/Values.swift:166:12", "graph": "SwiftDemo.symbols.json" }, + { + "id": "s:9SwiftDemo6settley0aB3Kit7OutcomeOySiGSiF", + "kind": "function", + "path": "settle(_:)", + "name": "settle(_:)", + "access": "public", + "declaration": "func settle(_ value: Int) -> Outcome", + "parameters": [ + { + "internalName": "value", + "type": { + "spelling": "Int", + "references": [ + "s:Si" + ] + } + } + ], + "returns": { + "spelling": "Outcome", + "references": [ + "s:12SwiftDemoKit7OutcomeO", + "s:Si" + ] + }, + "location": "file://Sources/SwiftDemo/Purse.swift:31:12", + "graph": "SwiftDemo.symbols.json" + }, { "id": "s:9SwiftDemo7CounterC", "kind": "actor", @@ -4430,6 +5260,63 @@ "location": "file://Sources/SwiftDemo/Values.swift:67:12", "graph": "SwiftDemo.symbols.json" }, + { + "id": "s:9SwiftDemo8countBoxy0aB3Kit0D0CySiGSiF", + "kind": "function", + "path": "countBox(_:)", + "name": "countBox(_:)", + "access": "public", + "declaration": "func countBox(_ value: Int) -> Box", + "parameters": [ + { + "internalName": "value", + "type": { + "spelling": "Int", + "references": [ + "s:Si" + ] + } + } + ], + "returns": { + "spelling": "Box", + "references": [ + "s:12SwiftDemoKit3BoxC", + "s:Si" + ] + }, + "location": "file://Sources/SwiftDemo/Purse.swift:30:12", + "graph": "SwiftDemo.symbols.json" + }, + { + "id": "s:9SwiftDemo8describeySS0aB3Kit4PairVySiSSGF", + "kind": "function", + "path": "describe(_:)", + "name": "describe(_:)", + "access": "public", + "declaration": "func describe(_ pair: Pair) -> String", + "parameters": [ + { + "internalName": "pair", + "type": { + "spelling": "Pair", + "references": [ + "s:12SwiftDemoKit4PairV", + "s:Si", + "s:SS" + ] + } + } + ], + "returns": { + "spelling": "String", + "references": [ + "s:SS" + ] + }, + "location": "file://Sources/SwiftDemo/Purse.swift:28:12", + "graph": "SwiftDemo.symbols.json" + }, { "id": "s:9SwiftDemo8describeySSSo6UIViewCF", "kind": "function", @@ -4655,6 +5542,42 @@ "location": "file://Sources/SwiftDemo/Views.swift:7:23", "graph": "SwiftDemo.symbols.json" }, + { + "id": "s:9SwiftDemo9makeScorey0aB3Kit4PairVySSSiGSS_SitF", + "kind": "function", + "path": "makeScore(_:_:)", + "name": "makeScore(_:_:)", + "access": "public", + "declaration": "func makeScore(_ name: String, _ points: Int) -> Score", + "parameters": [ + { + "internalName": "name", + "type": { + "spelling": "String", + "references": [ + "s:SS" + ] + } + }, + { + "internalName": "points", + "type": { + "spelling": "Int", + "references": [ + "s:Si" + ] + } + } + ], + "returns": { + "spelling": "Score", + "references": [ + "s:9SwiftDemo5Scorea" + ] + }, + "location": "file://Sources/SwiftDemo/Purse.swift:27:12", + "graph": "SwiftDemo.symbols.json" + }, { "id": "s:9SwiftDemo9noteLateryAA4NoteCSSYaF", "kind": "function", diff --git a/metadata-generator/tests/swift/snapshots/SwiftDemo.probe.swift b/metadata-generator/tests/swift/snapshots/SwiftDemo.probe.swift index 076999c5..f0e00412 100644 --- a/metadata-generator/tests/swift/snapshots/SwiftDemo.probe.swift +++ b/metadata-generator/tests/swift/snapshots/SwiftDemo.probe.swift @@ -7,897 +7,1023 @@ import SwiftDemoKit import UIKit #endif +// s:12SwiftDemoKit3BoxC5valuexvp@s:12SwiftDemoKit3BoxC +func __nsProbe0(_ receiver: SwiftDemoKit.Box, _ newValue: SwiftDemoKit.Money) { + let _: SwiftDemoKit.Money = receiver.`value` + receiver.`value` = newValue +} + +// s:12SwiftDemoKit3BoxC5valuexvp@s:12SwiftDemoKit3BoxC +func __nsProbe1(_ receiver: SwiftDemoKit.Box, _ newValue: Int) { + let _: Int = receiver.`value` + receiver.`value` = newValue +} + +// s:12SwiftDemoKit3BoxC8replaced4withACyxGx_tF@s:12SwiftDemoKit3BoxC +func __nsProbe2(_ receiver: SwiftDemoKit.Box, _ a0: SwiftDemoKit.Money) { + let _: SwiftDemoKit.Box = receiver.`replaced`(with: a0) +} + +// s:12SwiftDemoKit3BoxC8replaced4withACyxGx_tF@s:12SwiftDemoKit3BoxC +func __nsProbe3(_ receiver: SwiftDemoKit.Box, _ a0: Int) { + let _: SwiftDemoKit.Box = receiver.`replaced`(with: a0) +} + +// s:12SwiftDemoKit3BoxC +func __nsProbe4(_ value: SwiftDemoKit.Box) -> SwiftDemoKit.Box { value } + +// s:12SwiftDemoKit3BoxC +func __nsProbe5(_ value: SwiftDemoKit.Box) -> SwiftDemoKit.Box { value } + +// s:12SwiftDemoKit3BoxCyACyxGxcfc@s:12SwiftDemoKit3BoxC +func __nsProbe6(_ a0: SwiftDemoKit.Money) { + let _: SwiftDemoKit.Box = SwiftDemoKit.Box(a0) +} + +// s:12SwiftDemoKit3BoxCyACyxGxcfc@s:12SwiftDemoKit3BoxC +func __nsProbe7(_ a0: Int) { + let _: SwiftDemoKit.Box = SwiftDemoKit.Box(a0) +} + // s:12SwiftDemoKit4CoinO -func __nsProbe0(_ value: SwiftDemoKit.Coin) -> SwiftDemoKit.Coin { value } +func __nsProbe8(_ value: SwiftDemoKit.Coin) -> SwiftDemoKit.Coin { value } // s:12SwiftDemoKit4CoinO4dimeyA2CmF -func __nsProbe1() { +func __nsProbe9() { let _: SwiftDemoKit.Coin = SwiftDemoKit.Coin.`dime` } // s:12SwiftDemoKit4CoinO5pennyyA2CmF -func __nsProbe2() { +func __nsProbe10() { let _: SwiftDemoKit.Coin = SwiftDemoKit.Coin.`penny` } +// s:12SwiftDemoKit4PairV5first6secondACyxq_Gx_q_tcfc@s:12SwiftDemoKit4PairV +func __nsProbe11(_ a0: String, _ a1: Int) { + let _: SwiftDemoKit.Pair = SwiftDemoKit.Pair(first: a0, second: a1) +} + +// s:12SwiftDemoKit4PairV5first6secondACyxq_Gx_q_tcfc@s:12SwiftDemoKit4PairV +func __nsProbe12(_ a0: Int, _ a1: String) { + let _: SwiftDemoKit.Pair = SwiftDemoKit.Pair(first: a0, second: a1) +} + +// s:12SwiftDemoKit4PairV5firstxvp@s:12SwiftDemoKit4PairV +func __nsProbe13(_ receiver: inout SwiftDemoKit.Pair, _ newValue: String) { + let _: String = receiver.`first` + receiver.`first` = newValue +} + +// s:12SwiftDemoKit4PairV5firstxvp@s:12SwiftDemoKit4PairV +func __nsProbe14(_ receiver: inout SwiftDemoKit.Pair, _ newValue: Int) { + let _: Int = receiver.`first` + receiver.`first` = newValue +} + +// s:12SwiftDemoKit4PairV6secondq_vp@s:12SwiftDemoKit4PairV +func __nsProbe15(_ receiver: inout SwiftDemoKit.Pair, _ newValue: Int) { + let _: Int = receiver.`second` + receiver.`second` = newValue +} + +// s:12SwiftDemoKit4PairV6secondq_vp@s:12SwiftDemoKit4PairV +func __nsProbe16(_ receiver: inout SwiftDemoKit.Pair, _ newValue: String) { + let _: String = receiver.`second` + receiver.`second` = newValue +} + +// s:12SwiftDemoKit4PairV7swappedACyq_xGyF@s:12SwiftDemoKit4PairV +func __nsProbe17(_ receiver: SwiftDemoKit.Pair) { + let _: SwiftDemoKit.Pair = receiver.`swapped`() +} + +// s:12SwiftDemoKit4PairV7swappedACyq_xGyF@s:12SwiftDemoKit4PairV +func __nsProbe18(_ receiver: SwiftDemoKit.Pair) { + let _: SwiftDemoKit.Pair = receiver.`swapped`() +} + +// s:12SwiftDemoKit4PairV +func __nsProbe19(_ value: SwiftDemoKit.Pair) -> SwiftDemoKit.Pair { value } + +// s:12SwiftDemoKit4PairV +func __nsProbe20(_ value: SwiftDemoKit.Pair) -> SwiftDemoKit.Pair { value } + // s:12SwiftDemoKit5MoneyV -func __nsProbe3(_ value: SwiftDemoKit.Money) -> SwiftDemoKit.Money { value } +func __nsProbe21(_ value: SwiftDemoKit.Money) -> SwiftDemoKit.Money { value } // s:12SwiftDemoKit5MoneyV0aB0E6isZeroSbvp -func __nsProbe4(_ receiver: SwiftDemoKit.Money) { +func __nsProbe22(_ receiver: SwiftDemoKit.Money) { let _: Bool = receiver.`isZero` } // s:12SwiftDemoKit5MoneyV0aB0E7doubledACyF -func __nsProbe5(_ receiver: SwiftDemoKit.Money) { +func __nsProbe23(_ receiver: SwiftDemoKit.Money) { let _: SwiftDemoKit.Money = receiver.`doubled`() } // s:12SwiftDemoKit5MoneyV6addingyA2CF -func __nsProbe6(_ receiver: SwiftDemoKit.Money, _ a0: SwiftDemoKit.Money) { +func __nsProbe24(_ receiver: SwiftDemoKit.Money, _ a0: SwiftDemoKit.Money) { let _: SwiftDemoKit.Money = receiver.`adding`(a0) } // s:12SwiftDemoKit5MoneyV6amount8currencyACSi_SStcfc -func __nsProbe7(_ a0: Int, _ a1: String) { +func __nsProbe25(_ a0: Int, _ a1: String) { let _: SwiftDemoKit.Money = SwiftDemoKit.Money(amount: a0, currency: a1) } // s:12SwiftDemoKit5MoneyV6amountSivp -func __nsProbe8(_ receiver: inout SwiftDemoKit.Money, _ newValue: Int) { +func __nsProbe26(_ receiver: inout SwiftDemoKit.Money, _ newValue: Int) { let _: Int = receiver.`amount` receiver.`amount` = newValue } // s:12SwiftDemoKit5MoneyV8currencySSvp -func __nsProbe9(_ receiver: inout SwiftDemoKit.Money, _ newValue: String) { +func __nsProbe27(_ receiver: inout SwiftDemoKit.Money, _ newValue: String) { let _: String = receiver.`currency` receiver.`currency` = newValue } // s:12SwiftDemoKit6WalletC -func __nsProbe10(_ value: SwiftDemoKit.Wallet) -> SwiftDemoKit.Wallet { value } +func __nsProbe28(_ value: SwiftDemoKit.Wallet) -> SwiftDemoKit.Wallet { value } // s:12SwiftDemoKit6WalletC0aB0E7summarySSyF -func __nsProbe11(_ receiver: SwiftDemoKit.Wallet) { +func __nsProbe29(_ receiver: SwiftDemoKit.Wallet) { let _: String = receiver.`summary`() } // s:12SwiftDemoKit6WalletC5ownerACSS_tcfc -func __nsProbe12(_ a0: String) { +func __nsProbe30(_ a0: String) { let _: SwiftDemoKit.Wallet = SwiftDemoKit.Wallet(owner: a0) } // s:12SwiftDemoKit6WalletC5ownerSSvp -func __nsProbe13(_ receiver: SwiftDemoKit.Wallet) { +func __nsProbe31(_ receiver: SwiftDemoKit.Wallet) { let _: String = receiver.`owner` } // s:12SwiftDemoKit6WalletC7balanceAA5MoneyVvp -func __nsProbe14(_ receiver: SwiftDemoKit.Wallet) { +func __nsProbe32(_ receiver: SwiftDemoKit.Wallet) { let _: SwiftDemoKit.Money = receiver.`balance` } // s:12SwiftDemoKit6WalletC7deposityyAA5MoneyVF -func __nsProbe15(_ receiver: SwiftDemoKit.Wallet, _ a0: SwiftDemoKit.Money) { +func __nsProbe33(_ receiver: SwiftDemoKit.Wallet, _ a0: SwiftDemoKit.Money) { let _: Void = receiver.`deposit`(a0) } +// s:12SwiftDemoKit7OutcomeO4doneyACyxGxcAEmlF@s:12SwiftDemoKit7OutcomeO +func __nsProbe34(_ a0: Int) { + let _: SwiftDemoKit.Outcome = SwiftDemoKit.Outcome.`done`(a0) +} + +// s:12SwiftDemoKit7OutcomeO6failedyACyxGSS_tcAEmlF@s:12SwiftDemoKit7OutcomeO +func __nsProbe35(_ a0: String) { + let _: SwiftDemoKit.Outcome = SwiftDemoKit.Outcome.`failed`(reason: a0) +} + +// s:12SwiftDemoKit7OutcomeO +func __nsProbe36(_ value: SwiftDemoKit.Outcome) -> SwiftDemoKit.Outcome { value } + // s:12SwiftDemoKit9formattedySSAA5MoneyVF -func __nsProbe16(_ a0: SwiftDemoKit.Money) { +func __nsProbe37(_ a0: SwiftDemoKit.Money) { let _: String = SwiftDemoKit.`formatted`(a0) } // s:9SwiftDemo0B0C -func __nsProbe17(_ value: SwiftDemo.Demo) -> SwiftDemo.Demo { value } +func __nsProbe38(_ value: SwiftDemo.Demo) -> SwiftDemo.Demo { value } // s:9SwiftDemo0B0C5greet4name5timesS2S_SitF -func __nsProbe18(_ receiver: SwiftDemo.Demo, _ a0: String, _ a1: Int) { +func __nsProbe39(_ receiver: SwiftDemo.Demo, _ a0: String, _ a1: Int) { let _: String = receiver.`greet`(name: a0, times: a1) } // s:9SwiftDemo0B0C5greet4nameS2S_tF -func __nsProbe19(_ receiver: SwiftDemo.Demo, _ a0: String) { +func __nsProbe40(_ receiver: SwiftDemo.Demo, _ a0: String) { let _: String = receiver.`greet`(name: a0) } // s:9SwiftDemo0B0C7versionSSvpZ -func __nsProbe20() { +func __nsProbe41() { let _: String = SwiftDemo.Demo.`version` } // s:9SwiftDemo0B0CACycfc -func __nsProbe21() { +func __nsProbe42() { let _: SwiftDemo.Demo = SwiftDemo.Demo() } // s:9SwiftDemo10ShapeErrorO -func __nsProbe22(_ value: SwiftDemo.ShapeError) -> SwiftDemo.ShapeError { value } +func __nsProbe43(_ value: SwiftDemo.ShapeError) -> SwiftDemo.ShapeError { value } // s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF -func __nsProbe23(_ a0: Double) { +func __nsProbe44(_ a0: Double) { let _: SwiftDemo.ShapeError = SwiftDemo.ShapeError.`invalidSide`(a0) } // s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF -func __nsProbe24(_ a0: Int, _ a1: Int) { +func __nsProbe45(_ a0: Int, _ a1: Int) { let _: SwiftDemo.ShapeError = SwiftDemo.ShapeError.`tooManySides`(count: a0, limit: a1) } // s:9SwiftDemo10ShapeErrorO7unknownyA2CmF -func __nsProbe25() { +func __nsProbe46() { let _: SwiftDemo.ShapeError = SwiftDemo.ShapeError.`unknown` } // s:9SwiftDemo10allFlavorsSayAA6FlavorOGyF -func __nsProbe26() { +func __nsProbe47() { let _: [SwiftDemo.Flavor] = SwiftDemo.`allFlavors`() } // s:9SwiftDemo10echoUInt64ys0D0VADF -func __nsProbe27(_ a0: UInt64) { +func __nsProbe48(_ a0: UInt64) { let _: UInt64 = SwiftDemo.`echoUInt64`(a0) } // s:9SwiftDemo10greetLater_10completionySSSg_yADYbctF -func __nsProbe28(_ a0: String?, _ a1: @escaping @Sendable (String?) -> Void) { +func __nsProbe49(_ a0: String?, _ a1: @escaping @Sendable (String?) -> Void) { let _: Void = SwiftDemo.`greetLater`(a0, completion: a1) } // s:9SwiftDemo10largestIntSiyF -func __nsProbe29() { +func __nsProbe50() { let _: Int = SwiftDemo.`largestInt`() } // s:9SwiftDemo10namesLaterySaySSGSiYaF -func __nsProbe30(_ a0: Int) async { +func __nsProbe51(_ a0: Int) async { let _: [String] = await SwiftDemo.`namesLater`(a0) } // s:9SwiftDemo10wordCountsySDySSSiGSaySSGF -func __nsProbe31(_ a0: [String]) { +func __nsProbe52(_ a0: [String]) { let _: [String: Int] = SwiftDemo.`wordCounts`(a0) } // s:9SwiftDemo11MeasurementO -func __nsProbe32(_ value: SwiftDemo.Measurement) -> SwiftDemo.Measurement { value } +func __nsProbe53(_ value: SwiftDemo.Measurement) -> SwiftDemo.Measurement { value } // s:9SwiftDemo11MeasurementO4UnitV -func __nsProbe33(_ value: SwiftDemo.Measurement.Unit) -> SwiftDemo.Measurement.Unit { value } +func __nsProbe54(_ value: SwiftDemo.Measurement.Unit) -> SwiftDemo.Measurement.Unit { value } // s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc -func __nsProbe34(_ a0: String) { +func __nsProbe55(_ a0: String) { let _: SwiftDemo.Measurement.Unit = SwiftDemo.Measurement.Unit(symbol: a0) } // s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp -func __nsProbe35(_ receiver: inout SwiftDemo.Measurement.Unit, _ newValue: String) { +func __nsProbe56(_ receiver: inout SwiftDemo.Measurement.Unit, _ newValue: String) { let _: String = receiver.`symbol` receiver.`symbol` = newValue } // s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF -func __nsProbe36(_ a0: Double, _ a1: Double) { +func __nsProbe57(_ a0: Double, _ a1: Double) { let _: SwiftDemo.Measurement = SwiftDemo.Measurement.`area`(width: a0, height: a1) } // s:9SwiftDemo11MeasurementO4noneyA2CmF -func __nsProbe37() { +func __nsProbe58() { let _: SwiftDemo.Measurement = SwiftDemo.Measurement.`none` } // s:9SwiftDemo11MeasurementO6isNoneSbvp -func __nsProbe38(_ receiver: SwiftDemo.Measurement) { +func __nsProbe59(_ receiver: SwiftDemo.Measurement) { let _: Bool = receiver.`isNone` } // s:9SwiftDemo11MeasurementO6lengthyACSdcACmF -func __nsProbe39(_ a0: Double) { +func __nsProbe60(_ a0: Double) { let _: SwiftDemo.Measurement = SwiftDemo.Measurement.`length`(a0) } // s:9SwiftDemo11checkedSideyS2dKF -func __nsProbe40(_ a0: Double) throws { +func __nsProbe61(_ a0: Double) throws { let _: Double = try SwiftDemo.`checkedSide`(a0) } // s:9SwiftDemo11delayedEcho_5afterS2S_SdtYaKF -func __nsProbe41(_ a0: String, _ a1: Double) async throws { +func __nsProbe62(_ a0: String, _ a1: Double) async throws { let _: String = try await SwiftDemo.`delayedEcho`(a0, after: a1) } // s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF -func __nsProbe42(_ a0: UIView) { +func __nsProbe63(_ a0: UIView) { let _: UIView? = SwiftDemo.`firstSubview`(of: a0) } // s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF -func __nsProbe43(_ a0: Double) async { +func __nsProbe64(_ a0: Double) async { let _: SwiftDemo.Measurement = await SwiftDemo.`measureLater`(a0) } // s:9SwiftDemo12measurementsSayAA11MeasurementOGyF -func __nsProbe44() { +func __nsProbe65() { let _: [SwiftDemo.Measurement] = SwiftDemo.`measurements`() } // s:9SwiftDemo12swapTrackersyyAA7TrackerCz_ADztF -func __nsProbe45(_ a0: inout SwiftDemo.Tracker, _ a1: inout SwiftDemo.Tracker) { +func __nsProbe66(_ a0: inout SwiftDemo.Tracker, _ a1: inout SwiftDemo.Tracker) { let _: Void = SwiftDemo.`swapTrackers`(&a0, &a1) } // s:9SwiftDemo13PrecipitationO -func __nsProbe46(_ value: SwiftDemo.Precipitation) -> SwiftDemo.Precipitation { value } +func __nsProbe67(_ value: SwiftDemo.Precipitation) -> SwiftDemo.Precipitation { value } // s:9SwiftDemo13PrecipitationO4noneyA2CmF -func __nsProbe47() { +func __nsProbe68() { let _: SwiftDemo.Precipitation = SwiftDemo.Precipitation.`none` } // s:9SwiftDemo13PrecipitationO4rainyA2CmF -func __nsProbe48() { +func __nsProbe69() { let _: SwiftDemo.Precipitation = SwiftDemo.Precipitation.`rain` } // s:9SwiftDemo13PrecipitationO4snowyA2CmF -func __nsProbe49() { +func __nsProbe70() { let _: SwiftDemo.Precipitation = SwiftDemo.Precipitation.`snow` } // s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc -func __nsProbe50(_ a0: String) { +func __nsProbe71(_ a0: String) { let _: SwiftDemo.Precipitation? = SwiftDemo.Precipitation(rawValue: a0) } // s:9SwiftDemo13defaultFlavorAA0D0Ovp -func __nsProbe51() { +func __nsProbe72() { let _: SwiftDemo.Flavor = SwiftDemo.`defaultFlavor` } // s:9SwiftDemo13globalCounterSivp -func __nsProbe52(_ newValue: Int) { +func __nsProbe73(_ newValue: Int) { let _: Int = SwiftDemo.`globalCounter` SwiftDemo.`globalCounter` = newValue } // s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF -func __nsProbe53(_ a0: String) { +func __nsProbe74(_ a0: String) { let _: SwiftDemoKit.Wallet = SwiftDemo.`starterWallet`(for: a0) } // s:9SwiftDemo16makeDefaultPointAA0E0VyF -func __nsProbe54() { +func __nsProbe75() { let _: SwiftDemo.Point = SwiftDemo.`makeDefaultPoint`() } // s:9SwiftDemo16makeTrackerLater2idAA0D0CSi_tYaF -func __nsProbe55(_ a0: Int) async { +func __nsProbe76(_ a0: Int) async { let _: SwiftDemo.Tracker = await SwiftDemo.`makeTrackerLater`(id: a0) } // s:9SwiftDemo3JobO6TicketV -func __nsProbe56(_ value: SwiftDemo.Job.Ticket) -> SwiftDemo.Job.Ticket { value } +func __nsProbe77(_ value: SwiftDemo.Job.Ticket) -> SwiftDemo.Job.Ticket { value } // s:9SwiftDemo3JobO6TicketV2idAESi_tcfc -func __nsProbe57(_ a0: Int) { +func __nsProbe78(_ a0: Int) { let _: SwiftDemo.Job.Ticket = SwiftDemo.Job.Ticket(id: a0) } // s:9SwiftDemo3JobO6TicketV2idSivp -func __nsProbe58(_ receiver: inout SwiftDemo.Job.Ticket, _ newValue: Int) { +func __nsProbe79(_ receiver: inout SwiftDemo.Job.Ticket, _ newValue: Int) { let _: Int = receiver.`id` receiver.`id` = newValue } // s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF -func __nsProbe59(_ a0: [SwiftDemoKit.Money]) { +func __nsProbe80(_ a0: [SwiftDemoKit.Money]) { let _: SwiftDemoKit.Money = SwiftDemo.`sum`(of: a0) } // s:9SwiftDemo4RingV -func __nsProbe60(_ value: SwiftDemo.Ring) -> SwiftDemo.Ring { value } +func __nsProbe81(_ value: SwiftDemo.Ring) -> SwiftDemo.Ring { value } // s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc -func __nsProbe61(_ a0: SwiftDemo.Point, _ a1: SwiftDemo.Point) { +func __nsProbe82(_ a0: SwiftDemo.Point, _ a1: SwiftDemo.Point) { let _: SwiftDemo.Ring = SwiftDemo.Ring(inner: a0, outer: a1) } // s:9SwiftDemo4RingV5innerAA5PointVvp -func __nsProbe62(_ receiver: inout SwiftDemo.Ring, _ newValue: SwiftDemo.Point) { +func __nsProbe83(_ receiver: inout SwiftDemo.Ring, _ newValue: SwiftDemo.Point) { let _: SwiftDemo.Point = receiver.`inner` receiver.`inner` = newValue } // s:9SwiftDemo4RingV5outerAA5PointVvp -func __nsProbe63(_ receiver: inout SwiftDemo.Ring, _ newValue: SwiftDemo.Point) { +func __nsProbe84(_ receiver: inout SwiftDemo.Ring, _ newValue: SwiftDemo.Point) { let _: SwiftDemo.Point = receiver.`outer` receiver.`outer` = newValue } // s:9SwiftDemo4RingV6expand2byySd_tF -func __nsProbe64(_ receiver: inout SwiftDemo.Ring, _ a0: Double) { +func __nsProbe85(_ receiver: inout SwiftDemo.Ring, _ a0: Double) { let _: Void = receiver.`expand`(by: a0) } // s:9SwiftDemo4area2ofSdAA11MeasurementO_tF -func __nsProbe65(_ a0: SwiftDemo.Measurement) { +func __nsProbe86(_ a0: SwiftDemo.Measurement) { let _: Double = SwiftDemo.`area`(of: a0) } // s:9SwiftDemo4bumpyySizF -func __nsProbe66(_ a0: inout Int) { +func __nsProbe87(_ a0: inout Int) { let _: Void = SwiftDemo.`bump`(&a0) } // s:9SwiftDemo4echoyAA7PayloadOADF -func __nsProbe67(_ a0: SwiftDemo.Payload) { +func __nsProbe88(_ a0: SwiftDemo.Payload) { let _: SwiftDemo.Payload = SwiftDemo.`echo`(a0) } // s:9SwiftDemo4flipy0aB3Kit4CoinOAEF -func __nsProbe68(_ a0: SwiftDemoKit.Coin) { +func __nsProbe89(_ a0: SwiftDemoKit.Coin) { let _: SwiftDemoKit.Coin = SwiftDemo.`flip`(a0) } // s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF -func __nsProbe69(_ a0: URL) { +func __nsProbe90(_ a0: URL) { let _: String? = SwiftDemo.`host`(of: a0) } // s:9SwiftDemo4rampy10Foundation4DataVSiF -func __nsProbe70(_ a0: Int) { +func __nsProbe91(_ a0: Int) { let _: Data = SwiftDemo.`ramp`(a0) } // s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF -func __nsProbe71(_ a0: [UIView]) { +func __nsProbe92(_ a0: [UIView]) { let _: [Int] = SwiftDemo.`tags`(a0) } // s:9SwiftDemo4text2ofSSAA4NoteC_tF -func __nsProbe72(_ a0: SwiftDemo.Note) { +func __nsProbe93(_ a0: SwiftDemo.Note) { let _: String = SwiftDemo.`text`(of: a0) } // s:9SwiftDemo5PointV -func __nsProbe73(_ value: SwiftDemo.Point) -> SwiftDemo.Point { value } +func __nsProbe94(_ value: SwiftDemo.Point) -> SwiftDemo.Point { value } // s:9SwiftDemo5PointV11descriptionSSvp -func __nsProbe74(_ receiver: SwiftDemo.Point) { +func __nsProbe95(_ receiver: SwiftDemo.Point) { let _: String = receiver.`description` } // s:9SwiftDemo5PointV1x1yACSd_Sdtcfc -func __nsProbe75(_ a0: Double, _ a1: Double) { +func __nsProbe96(_ a0: Double, _ a1: Double) { let _: SwiftDemo.Point = SwiftDemo.Point(x: a0, y: a1) } // s:9SwiftDemo5PointV1xSdvp -func __nsProbe76(_ receiver: inout SwiftDemo.Point, _ newValue: Double) { +func __nsProbe97(_ receiver: inout SwiftDemo.Point, _ newValue: Double) { let _: Double = receiver.`x` receiver.`x` = newValue } // s:9SwiftDemo5PointV1ySdvp -func __nsProbe77(_ receiver: inout SwiftDemo.Point, _ newValue: Double) { +func __nsProbe98(_ receiver: inout SwiftDemo.Point, _ newValue: Double) { let _: Double = receiver.`y` receiver.`y` = newValue } // s:9SwiftDemo5PointV6lengthSdvp -func __nsProbe78(_ receiver: SwiftDemo.Point) { +func __nsProbe99(_ receiver: SwiftDemo.Point) { let _: Double = receiver.`length` } +// s:9SwiftDemo5boxedy0aB3Kit3BoxCyAC5MoneyVGAGF +func __nsProbe100(_ a0: SwiftDemoKit.Money) { + let _: SwiftDemoKit.Box = SwiftDemo.`boxed`(a0) +} + // s:9SwiftDemo5clearyySSSgzF -func __nsProbe79(_ a0: inout String?) { +func __nsProbe101(_ a0: inout String?) { let _: Void = SwiftDemo.`clear`(&a0) } // s:9SwiftDemo5halveyySizKF -func __nsProbe80(_ a0: inout Int) throws { +func __nsProbe102(_ a0: inout Int) throws { let _: Void = try SwiftDemo.`halve`(&a0) } // s:9SwiftDemo5namesySaySSGSiF -func __nsProbe81(_ a0: Int) { +func __nsProbe103(_ a0: Int) { let _: [String] = SwiftDemo.`names`(a0) } // s:9SwiftDemo5shoutySSSgACF -func __nsProbe82(_ a0: String?) { +func __nsProbe104(_ a0: String?) { let _: String? = SwiftDemo.`shout`(a0) } // s:9SwiftDemo5totalySdSaySdGF -func __nsProbe83(_ a0: [Double]) { +func __nsProbe105(_ a0: [Double]) { let _: Double = SwiftDemo.`total`(a0) } // s:9SwiftDemo6CanvasC -func __nsProbe84(_ value: SwiftDemo.Canvas) -> SwiftDemo.Canvas { value } +func __nsProbe106(_ value: SwiftDemo.Canvas) -> SwiftDemo.Canvas { value } // s:9SwiftDemo6CanvasCACycfc @MainActor -func __nsProbe85() { +func __nsProbe107() { let _: SwiftDemo.Canvas = SwiftDemo.Canvas() } // s:9SwiftDemo6FlavorO -func __nsProbe86(_ value: SwiftDemo.Flavor) -> SwiftDemo.Flavor { value } +func __nsProbe108(_ value: SwiftDemo.Flavor) -> SwiftDemo.Flavor { value } // s:9SwiftDemo6FlavorO11descriptionSSvp -func __nsProbe87(_ receiver: SwiftDemo.Flavor) { +func __nsProbe109(_ receiver: SwiftDemo.Flavor) { let _: String = receiver.`description` } // s:9SwiftDemo6FlavorO7vanillayA2CmF -func __nsProbe88() { +func __nsProbe110() { let _: SwiftDemo.Flavor = SwiftDemo.Flavor.`vanilla` } // s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc -func __nsProbe89(_ a0: Int) { +func __nsProbe111(_ a0: Int) { let _: SwiftDemo.Flavor? = SwiftDemo.Flavor(rawValue: a0) } // s:9SwiftDemo6FlavorO9chocolateyA2CmF -func __nsProbe90() { +func __nsProbe112() { let _: SwiftDemo.Flavor = SwiftDemo.Flavor.`chocolate` } // s:9SwiftDemo6LoaderC -func __nsProbe91(_ value: SwiftDemo.Loader) -> SwiftDemo.Loader { value } +func __nsProbe113(_ value: SwiftDemo.Loader) -> SwiftDemo.Loader { value } // s:9SwiftDemo6LoaderC10modernOnlyyyF @available(iOS 16.0, *) -func __nsProbe92(_ receiver: SwiftDemo.Loader) { +func __nsProbe114(_ receiver: SwiftDemo.Loader) { let _: Void = receiver.`modernOnly`() } // s:9SwiftDemo6LoaderC11legacyFetchyyF -func __nsProbe93(_ receiver: SwiftDemo.Loader) { +func __nsProbe115(_ receiver: SwiftDemo.Loader) { let _: Void = receiver.`legacyFetch`() } // s:9SwiftDemo6LoaderC4eachyyySiXEF -func __nsProbe94(_ receiver: SwiftDemo.Loader, _ a0: (Int) -> Void) { +func __nsProbe116(_ receiver: SwiftDemo.Loader, _ a0: (Int) -> Void) { let _: Void = receiver.`each`(a0) } // s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF -func __nsProbe95(_ receiver: SwiftDemo.Loader, _ a0: String) throws { +func __nsProbe117(_ receiver: SwiftDemo.Loader, _ a0: String) throws { let _: Data = try receiver.`load`(path: a0) } // s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF -func __nsProbe96(_ receiver: SwiftDemo.Loader, _ a0: Double) async { +func __nsProbe118(_ receiver: SwiftDemo.Loader, _ a0: Double) async { let _: Void = await receiver.`wait`(seconds: a0) } // s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF -func __nsProbe97(_ receiver: SwiftDemo.Loader, _ a0: URL) async throws { +func __nsProbe119(_ receiver: SwiftDemo.Loader, _ a0: URL) async throws { let _: String = try await receiver.`fetch`(url: a0) } // s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF -func __nsProbe98(_ receiver: SwiftDemo.Loader, _ a0: [String: Int], _ a1: String) { +func __nsProbe120(_ receiver: SwiftDemo.Loader, _ a0: [String: Int], _ a1: String) { let _: Int? = receiver.`lookup`(table: a0, key: a1) } // s:9SwiftDemo6LoaderC6updateyyAA5PointVzF -func __nsProbe99(_ receiver: SwiftDemo.Loader, _ a0: inout SwiftDemo.Point) { +func __nsProbe121(_ receiver: SwiftDemo.Loader, _ a0: inout SwiftDemo.Point) { let _: Void = receiver.`update`(&a0) } // s:9SwiftDemo6LoaderC8oldFetchyyF -func __nsProbe100(_ receiver: SwiftDemo.Loader) { +func __nsProbe122(_ receiver: SwiftDemo.Loader) { let _: Void = receiver.`oldFetch`() } // s:9SwiftDemo6LoaderCACycfc -func __nsProbe101() { +func __nsProbe123() { let _: SwiftDemo.Loader = SwiftDemo.Loader() } // s:9SwiftDemo6SquareC -func __nsProbe102(_ value: SwiftDemo.Square) -> SwiftDemo.Square { value } +func __nsProbe124(_ value: SwiftDemo.Square) -> SwiftDemo.Square { value } // s:9SwiftDemo6SquareC4areaSdvp -func __nsProbe103(_ receiver: SwiftDemo.Square) { +func __nsProbe125(_ receiver: SwiftDemo.Square) { let _: Double = receiver.`area` } // s:9SwiftDemo6SquareC4sideACSd_tcfc -func __nsProbe104(_ a0: Double) { +func __nsProbe126(_ a0: Double) { let _: SwiftDemo.Square = SwiftDemo.Square(side: a0) } // s:9SwiftDemo6SquareC4sideSdvp -func __nsProbe105(_ receiver: SwiftDemo.Square, _ newValue: Double) { +func __nsProbe127(_ receiver: SwiftDemo.Square, _ newValue: Double) { let _: Double = receiver.`side` receiver.`side` = newValue } // s:9SwiftDemo6SquareC5greet4nameS2S_tF -func __nsProbe106(_ receiver: SwiftDemo.Square, _ a0: String) { +func __nsProbe128(_ receiver: SwiftDemo.Square, _ a0: String) { let _: String = receiver.`greet`(name: a0) } // s:9SwiftDemo6SquareC5scale2byySd_tF -func __nsProbe107(_ receiver: SwiftDemo.Square, _ a0: Double) { +func __nsProbe129(_ receiver: SwiftDemo.Square, _ a0: Double) { let _: Void = receiver.`scale`(by: a0) } // s:9SwiftDemo6SquareC5sidesSivpZ -func __nsProbe108() { +func __nsProbe130() { let _: Int = SwiftDemo.Square.`sides` } // s:9SwiftDemo6append_2toySS_SaySSGztF -func __nsProbe109(_ a0: String, _ a1: inout [String]) { +func __nsProbe131(_ a0: String, _ a1: inout [String]) { let _: Void = SwiftDemo.`append`(a0, to: &a1) } +// s:9SwiftDemo6settley0aB3Kit7OutcomeOySiGSiF +func __nsProbe132(_ a0: Int) { + let _: SwiftDemoKit.Outcome = SwiftDemo.`settle`(a0) +} + // s:9SwiftDemo7CounterC -func __nsProbe110(_ value: SwiftDemo.Counter) -> SwiftDemo.Counter { value } +func __nsProbe133(_ value: SwiftDemo.Counter) -> SwiftDemo.Counter { value } // s:9SwiftDemo7CounterC4stepSivp -func __nsProbe111(_ receiver: SwiftDemo.Counter) async { +func __nsProbe134(_ receiver: SwiftDemo.Counter) async { let _: Int = await receiver.`step` } // s:9SwiftDemo7CounterC5labelSSyF -func __nsProbe112(_ receiver: SwiftDemo.Counter) { +func __nsProbe135(_ receiver: SwiftDemo.Counter) { let _: String = receiver.`label`() } // s:9SwiftDemo7CounterC5valueSivp -func __nsProbe113(_ receiver: SwiftDemo.Counter) async { +func __nsProbe136(_ receiver: SwiftDemo.Counter) async { let _: Int = await receiver.`value` } // s:9SwiftDemo7CounterC9incrementSiyF -func __nsProbe114(_ receiver: SwiftDemo.Counter) async { +func __nsProbe137(_ receiver: SwiftDemo.Counter) async { let _: Int = await receiver.`increment`() } // s:9SwiftDemo7CounterCACycfc -func __nsProbe115() { +func __nsProbe138() { let _: SwiftDemo.Counter = SwiftDemo.Counter() } // s:9SwiftDemo7FormulaO -func __nsProbe116(_ value: SwiftDemo.Formula) -> SwiftDemo.Formula { value } +func __nsProbe139(_ value: SwiftDemo.Formula) -> SwiftDemo.Formula { value } // s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF -func __nsProbe117(_ a0: SwiftDemo.Formula, _ a1: SwiftDemo.Formula) { +func __nsProbe140(_ a0: SwiftDemo.Formula, _ a1: SwiftDemo.Formula) { let _: SwiftDemo.Formula = SwiftDemo.Formula.`sum`(a0, a1) } // s:9SwiftDemo7FormulaO5valueSdvp -func __nsProbe118(_ receiver: SwiftDemo.Formula) { +func __nsProbe141(_ receiver: SwiftDemo.Formula) { let _: Double = receiver.`value` } // s:9SwiftDemo7FormulaO6negateyA2CcACmF -func __nsProbe119(_ a0: SwiftDemo.Formula) { +func __nsProbe142(_ a0: SwiftDemo.Formula) { let _: SwiftDemo.Formula = SwiftDemo.Formula.`negate`(a0) } // s:9SwiftDemo7FormulaO6numberyACSdcACmF -func __nsProbe120(_ a0: Double) { +func __nsProbe143(_ a0: Double) { let _: SwiftDemo.Formula = SwiftDemo.Formula.`number`(a0) } // s:9SwiftDemo7PaletteC -func __nsProbe121(_ value: SwiftDemo.Palette) -> SwiftDemo.Palette { value } +func __nsProbe144(_ value: SwiftDemo.Palette) -> SwiftDemo.Palette { value } // s:9SwiftDemo7PaletteC11strokeLaterSiyYaF -func __nsProbe122(_ receiver: SwiftDemo.Palette) async { +func __nsProbe145(_ receiver: SwiftDemo.Palette) async { let _: Int = await receiver.`strokeLater`() } // s:9SwiftDemo7PaletteC6strokeSiyF @MainActor -func __nsProbe123(_ receiver: SwiftDemo.Palette) { +func __nsProbe146(_ receiver: SwiftDemo.Palette) { let _: Int = receiver.`stroke`() } // s:9SwiftDemo7PaletteC7strokesSivp @MainActor -func __nsProbe124(_ receiver: SwiftDemo.Palette) { +func __nsProbe147(_ receiver: SwiftDemo.Palette) { let _: Int = receiver.`strokes` } // s:9SwiftDemo7PaletteCACycfc @MainActor -func __nsProbe125() { +func __nsProbe148() { let _: SwiftDemo.Palette = SwiftDemo.Palette() } // s:9SwiftDemo7PayloadO -func __nsProbe126(_ value: SwiftDemo.Payload) -> SwiftDemo.Payload { value } +func __nsProbe149(_ value: SwiftDemo.Payload) -> SwiftDemo.Payload { value } // s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF -func __nsProbe127(_ a0: Int?) { +func __nsProbe150(_ a0: Int?) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`maybe`(a0) } // s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF -func __nsProbe128(_ a0: [String]) { +func __nsProbe151(_ a0: [String]) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`names`(a0) } // s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF -func __nsProbe129(_ a0: SwiftDemo.Point) { +func __nsProbe152(_ a0: SwiftDemo.Point) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`point`(a0) } // s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF -func __nsProbe130(_ a0: SwiftDemo.Flavor) { +func __nsProbe153(_ a0: SwiftDemo.Flavor) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`flavor`(a0) } // s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF -func __nsProbe131(_ a0: SwiftDemo.Tracker) { +func __nsProbe154(_ a0: SwiftDemo.Tracker) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`tracker`(a0) } // s:9SwiftDemo7PolygonC -func __nsProbe132(_ value: SwiftDemo.Polygon) -> SwiftDemo.Polygon { value } +func __nsProbe155(_ value: SwiftDemo.Polygon) -> SwiftDemo.Polygon { value } // s:9SwiftDemo7PolygonC11vertexCountSivp -func __nsProbe133(_ receiver: SwiftDemo.Polygon) { +func __nsProbe156(_ receiver: SwiftDemo.Polygon) { let _: Int = receiver.`vertexCount` } // s:9SwiftDemo7PolygonC4makeACyFZ -func __nsProbe134() { +func __nsProbe157() { let _: SwiftDemo.Polygon = SwiftDemo.Polygon.`make`() } // s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc -func __nsProbe135(_ a0: String, _ a1: Int) { +func __nsProbe158(_ a0: String, _ a1: Int) { let _: SwiftDemo.Polygon = SwiftDemo.Polygon(name: a0, vertexCount: a1) } // s:9SwiftDemo7PolygonC4nameACSgSS_tcfc -func __nsProbe136(_ a0: String) { +func __nsProbe159(_ a0: String) { let _: SwiftDemo.Polygon? = SwiftDemo.Polygon(name: a0) } // s:9SwiftDemo7PolygonC4nameSSvp -func __nsProbe137(_ receiver: SwiftDemo.Polygon) { +func __nsProbe160(_ receiver: SwiftDemo.Polygon) { let _: String = receiver.`name` } // s:9SwiftDemo7PolygonC5StyleO -func __nsProbe138(_ value: SwiftDemo.Polygon.Style) -> SwiftDemo.Polygon.Style { value } +func __nsProbe161(_ value: SwiftDemo.Polygon.Style) -> SwiftDemo.Polygon.Style { value } // s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF -func __nsProbe139() { +func __nsProbe162() { let _: SwiftDemo.Polygon.Style = SwiftDemo.Polygon.Style.`solid` } // s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF -func __nsProbe140() { +func __nsProbe163() { let _: SwiftDemo.Polygon.Style = SwiftDemo.Polygon.Style.`dashed` } // s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc -func __nsProbe141(_ a0: String) { +func __nsProbe164(_ a0: String) { let _: SwiftDemo.Polygon.Style? = SwiftDemo.Polygon.Style(rawValue: a0) } // s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF -func __nsProbe142(_ receiver: SwiftDemo.Polygon, _ a0: Double, _ a1: Double) { +func __nsProbe165(_ receiver: SwiftDemo.Polygon, _ a0: Double, _ a1: Double) { let _: Void = receiver.`scale`(x: a0, y: a1) } // s:9SwiftDemo7PolygonC5scale2byySd_tF -func __nsProbe143(_ receiver: SwiftDemo.Polygon, _ a0: Double) { +func __nsProbe166(_ receiver: SwiftDemo.Polygon, _ a0: Double) { let _: Void = receiver.`scale`(by: a0) } // s:9SwiftDemo7PolygonC5scale2byySi_tF -func __nsProbe144(_ receiver: SwiftDemo.Polygon, _ a0: Int) { +func __nsProbe167(_ receiver: SwiftDemo.Polygon, _ a0: Int) { let _: Void = receiver.`scale`(by: a0) } // s:9SwiftDemo7PolygonC5styleAC5StyleOvp -func __nsProbe145(_ receiver: SwiftDemo.Polygon) { +func __nsProbe168(_ receiver: SwiftDemo.Polygon) { let _: SwiftDemo.Polygon.Style = receiver.`style` } // s:9SwiftDemo7PolygonC6sharedACvpZ -func __nsProbe146() { +func __nsProbe169() { let _: SwiftDemo.Polygon = SwiftDemo.Polygon.`shared` } // s:9SwiftDemo7PolygonC7MetricsV -func __nsProbe147(_ value: SwiftDemo.Polygon.Metrics) -> SwiftDemo.Polygon.Metrics { value } +func __nsProbe170(_ value: SwiftDemo.Polygon.Metrics) -> SwiftDemo.Polygon.Metrics { value } // s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc -func __nsProbe148(_ a0: Double) { +func __nsProbe171(_ a0: Double) { let _: SwiftDemo.Polygon.Metrics = SwiftDemo.Polygon.Metrics(perimeter: a0) } // s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp -func __nsProbe149(_ receiver: inout SwiftDemo.Polygon.Metrics, _ newValue: Double) { +func __nsProbe172(_ receiver: inout SwiftDemo.Polygon.Metrics, _ newValue: Double) { let _: Double = receiver.`perimeter` receiver.`perimeter` = newValue } // s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF -func __nsProbe150(_ receiver: SwiftDemo.Polygon, _ a0: Double) { +func __nsProbe173(_ receiver: SwiftDemo.Polygon, _ a0: Double) { let _: SwiftDemo.Polygon.Metrics = receiver.`metrics`(side: a0) } // s:9SwiftDemo7PolygonC8describeySSACSgFZ -func __nsProbe151(_ a0: SwiftDemo.Polygon?) { +func __nsProbe174(_ a0: SwiftDemo.Polygon?) { let _: String = SwiftDemo.Polygon.`describe`(a0) } // s:9SwiftDemo7TrackerC -func __nsProbe152(_ value: SwiftDemo.Tracker) -> SwiftDemo.Tracker { value } +func __nsProbe175(_ value: SwiftDemo.Tracker) -> SwiftDemo.Tracker { value } // s:9SwiftDemo7TrackerC2idACSi_tcfc -func __nsProbe153(_ a0: Int) { +func __nsProbe176(_ a0: Int) { let _: SwiftDemo.Tracker = SwiftDemo.Tracker(id: a0) } // s:9SwiftDemo7TrackerC2idSivp -func __nsProbe154(_ receiver: SwiftDemo.Tracker) { +func __nsProbe177(_ receiver: SwiftDemo.Tracker) { let _: Int = receiver.`id` } // s:9SwiftDemo7TrackerC4sameACyF -func __nsProbe155(_ receiver: SwiftDemo.Tracker) { +func __nsProbe178(_ receiver: SwiftDemo.Tracker) { let _: SwiftDemo.Tracker = receiver.`same`() } // s:9SwiftDemo7TrackerC9liveCountSivpZ -func __nsProbe156() { +func __nsProbe179() { let _: Int = SwiftDemo.Tracker.`liveCount` } // s:9SwiftDemo7explainySSAA10ShapeErrorOF -func __nsProbe157(_ a0: SwiftDemo.ShapeError) { +func __nsProbe180(_ a0: SwiftDemo.ShapeError) { let _: String = SwiftDemo.`explain`(a0) } // s:9SwiftDemo7lengthsySDySSSiGSDyS2SGF -func __nsProbe158(_ a0: [String: String]) { +func __nsProbe181(_ a0: [String: String]) { let _: [String: Int] = SwiftDemo.`lengths`(a0) } // s:9SwiftDemo7measure_2byAA11MeasurementOSd_SdSgtF -func __nsProbe159(_ a0: Double, _ a1: Double?) { +func __nsProbe182(_ a0: Double, _ a1: Double?) { let _: SwiftDemo.Measurement = SwiftDemo.`measure`(a0, by: a1) } // s:9SwiftDemo7nextDay5after10Foundation4DateVAF_tF -func __nsProbe160(_ a0: Date) { +func __nsProbe183(_ a0: Date) { let _: Date = SwiftDemo.`nextDay`(after: a0) } // s:9SwiftDemo7resolve_7against10Foundation3URLVSS_AFtF -func __nsProbe161(_ a0: String, _ a1: URL) { +func __nsProbe184(_ a0: String, _ a1: URL) { let _: URL = SwiftDemo.`resolve`(a0, against: a1) } // s:9SwiftDemo8NotifierC -func __nsProbe162(_ value: SwiftDemo.Notifier) -> SwiftDemo.Notifier { value } +func __nsProbe185(_ value: SwiftDemo.Notifier) -> SwiftDemo.Notifier { value } // s:9SwiftDemo8NotifierC12publishLateryySSF -func __nsProbe163(_ receiver: SwiftDemo.Notifier, _ a0: String) { +func __nsProbe186(_ receiver: SwiftDemo.Notifier, _ a0: String) { let _: Void = receiver.`publishLater`(a0) } // s:9SwiftDemo8NotifierC5clearyyF -func __nsProbe164(_ receiver: SwiftDemo.Notifier) { +func __nsProbe187(_ receiver: SwiftDemo.Notifier) { let _: Void = receiver.`clear`() } // s:9SwiftDemo8NotifierC5countSivp -func __nsProbe165(_ receiver: SwiftDemo.Notifier) { +func __nsProbe188(_ receiver: SwiftDemo.Notifier) { let _: Int = receiver.`count` } // s:9SwiftDemo8NotifierC7publishyySSF -func __nsProbe166(_ receiver: SwiftDemo.Notifier, _ a0: String) { +func __nsProbe189(_ receiver: SwiftDemo.Notifier, _ a0: String) { let _: Void = receiver.`publish`(a0) } // s:9SwiftDemo8NotifierC9subscribeyyySSYbcF -func __nsProbe167(_ receiver: SwiftDemo.Notifier, _ a0: @escaping @Sendable (String) -> Void) { +func __nsProbe190(_ receiver: SwiftDemo.Notifier, _ a0: @escaping @Sendable (String) -> Void) { let _: Void = receiver.`subscribe`(a0) } // s:9SwiftDemo8NotifierCACycfc -func __nsProbe168() { +func __nsProbe191() { let _: SwiftDemo.Notifier = SwiftDemo.Notifier() } // s:9SwiftDemo8centroid2ofAA5PointVSayAEG_tF -func __nsProbe169(_ a0: [SwiftDemo.Point]) { +func __nsProbe192(_ a0: [SwiftDemo.Point]) { let _: SwiftDemo.Point = SwiftDemo.`centroid`(of: a0) } // s:9SwiftDemo8checksumySi10Foundation4DataVF -func __nsProbe170(_ a0: Data) { +func __nsProbe193(_ a0: Data) { let _: Int = SwiftDemo.`checksum`(a0) } +// s:9SwiftDemo8countBoxy0aB3Kit0D0CySiGSiF +func __nsProbe194(_ a0: Int) { + let _: SwiftDemoKit.Box = SwiftDemo.`countBox`(a0) +} + +// s:9SwiftDemo8describeySS0aB3Kit4PairVySiSSGF +func __nsProbe195(_ a0: SwiftDemoKit.Pair) { + let _: String = SwiftDemo.`describe`(a0) +} + // s:9SwiftDemo8describeySSSo6UIViewCF -func __nsProbe171(_ a0: UIView) { +func __nsProbe196(_ a0: UIView) { let _: String = SwiftDemo.`describe`(a0) } // s:9SwiftDemo8echoInt8ys0D0VADF -func __nsProbe172(_ a0: Int8) { +func __nsProbe197(_ a0: Int8) { let _: Int8 = SwiftDemo.`echoInt8`(a0) } // s:9SwiftDemo8makeNoteyAA0D0CSSF -func __nsProbe173(_ a0: String) { +func __nsProbe198(_ a0: String) { let _: SwiftDemo.Note = SwiftDemo.`makeNote`(a0) } // s:9SwiftDemo8mirroredySaySaySiGGADF -func __nsProbe174(_ a0: [[Int]]) { +func __nsProbe199(_ a0: [[Int]]) { let _: [[Int]] = SwiftDemo.`mirrored`(a0) } // s:9SwiftDemo8simplifyyAA7FormulaOADF -func __nsProbe175(_ a0: SwiftDemo.Formula) { +func __nsProbe200(_ a0: SwiftDemo.Formula) { let _: SwiftDemo.Formula = SwiftDemo.`simplify`(a0) } // s:9SwiftDemo8trackersySayAA7TrackerCGSaySiGF -func __nsProbe176(_ a0: [Int]) { +func __nsProbe201(_ a0: [Int]) { let _: [SwiftDemo.Tracker] = SwiftDemo.`trackers`(a0) } // s:9SwiftDemo9countdown4from_ySi_ySi_SbtXEtF -func __nsProbe177(_ a0: Int, _ a1: (Int, Bool) -> Void) { +func __nsProbe202(_ a0: Int, _ a1: (Int, Bool) -> Void) { let _: Void = SwiftDemo.`countdown`(from: a0, a1) } // s:9SwiftDemo9makeLabelySo7UILabelCSSF @MainActor -func __nsProbe178(_ a0: String) { +func __nsProbe203(_ a0: String) { let _: UILabel = SwiftDemo.`makeLabel`(a0) } +// s:9SwiftDemo9makeScorey0aB3Kit4PairVySSSiGSS_SitF +func __nsProbe204(_ a0: String, _ a1: Int) { + let _: Score = SwiftDemo.`makeScore`(a0, a1) +} + // s:9SwiftDemo9noteLateryAA4NoteCSSYaF -func __nsProbe179(_ a0: String) async { +func __nsProbe205(_ a0: String) async { let _: SwiftDemo.Note = await SwiftDemo.`noteLater`(a0) } // s:9SwiftDemo9onMeasureyyyAA11MeasurementOXEF -func __nsProbe180(_ a0: (SwiftDemo.Measurement) -> Void) { +func __nsProbe206(_ a0: (SwiftDemo.Measurement) -> Void) { let _: Void = SwiftDemo.`onMeasure`(a0) } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO -func __nsProbe181(_ receiver: SwiftDemo.Precipitation) { +func __nsProbe207(_ receiver: SwiftDemo.Precipitation) { let _: Int = receiver.`hashValue` } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO -func __nsProbe182(_ receiver: SwiftDemo.Flavor) { +func __nsProbe208(_ receiver: SwiftDemo.Flavor) { let _: Int = receiver.`hashValue` } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO -func __nsProbe183(_ receiver: SwiftDemo.Polygon.Style) { +func __nsProbe209(_ receiver: SwiftDemo.Polygon.Style) { let _: Int = receiver.`hashValue` } // s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO -func __nsProbe184(_ receiver: SwiftDemo.ShapeError) { +func __nsProbe210(_ receiver: SwiftDemo.ShapeError) { let _: String = receiver.`localizedDescription` } diff --git a/metadata-generator/tests/swift/snapshots/swift!SwiftDemo.d.ts b/metadata-generator/tests/swift/snapshots/swift!SwiftDemo.d.ts index 97138a34..aefc01b7 100644 --- a/metadata-generator/tests/swift/snapshots/swift!SwiftDemo.d.ts +++ b/metadata-generator/tests/swift/snapshots/swift!SwiftDemo.d.ts @@ -203,6 +203,7 @@ declare module "ns:swift/SwiftDemo" { subscribe(handler: (arg0: string) => void): void; } + export type Score = import("ns:swift/SwiftDemoKit").Pair; export function allFlavors(): (Flavor)[]; export function echoUInt64(value: number | bigint): number; export function greetLater(name: (string) | null | undefined, completion: (arg0: string | null) => void): void; @@ -229,12 +230,14 @@ declare module "ns:swift/SwiftDemo" { export function ramp(count: number | bigint): Uint8Array; export function tags(views: readonly (UIView)[]): (number)[]; export function text(note: NSObject): string; + export function boxed(money: import("ns:swift/SwiftDemoKit").Money): import("ns:swift/SwiftDemoKit").Box; export function clear(name: { value: (string) | null | undefined }): void; export function halve(value: { value: number | bigint }): void; export function names(count: number | bigint): (string)[]; export function shout(name: (string) | null | undefined): string | null; export function total(values: readonly (number)[]): number; export function append(word: string, words: { value: readonly (string)[] }): void; + export function settle(value: number | bigint): import("ns:swift/SwiftDemoKit").Outcome; export function explain(error: ShapeError): string; export function lengths(table: Readonly>): Record; export function measure(width: number, height: (number) | null | undefined): Measurement; @@ -242,6 +245,8 @@ declare module "ns:swift/SwiftDemo" { export function resolve(path: string, base: string | URL): URL; export function centroid(points: readonly (Point)[]): Point; export function checksum(data: ArrayBuffer | ArrayBufferView): number; + export function countBox(value: number | bigint): import("ns:swift/SwiftDemoKit").Box; + export function describe(pair: import("ns:swift/SwiftDemoKit").Pair): string; export function describe(view: UIView): string; export function echoInt8(value: number | bigint): number; export function makeNote(text: string): NSObject; @@ -250,6 +255,7 @@ declare module "ns:swift/SwiftDemo" { export function trackers(ids: readonly (number | bigint)[]): (Tracker)[]; export function countdown(start: number | bigint, tick: (arg0: number, arg1: boolean) => void): void; export function makeLabel(text: string): UILabel; + export function makeScore(name: string, points: number | bigint): import("ns:swift/SwiftDemoKit").Pair; export function noteLater(text: string): Promise; export function onMeasure(body: (arg0: Measurement) => void): void; } diff --git a/metadata-generator/tests/swift/snapshots/swift!SwiftDemoKit.d.ts b/metadata-generator/tests/swift/snapshots/swift!SwiftDemoKit.d.ts index 6fe19085..5721371c 100644 --- a/metadata-generator/tests/swift/snapshots/swift!SwiftDemoKit.d.ts +++ b/metadata-generator/tests/swift/snapshots/swift!SwiftDemoKit.d.ts @@ -2,12 +2,26 @@ // The JavaScript surface ns:swift exposes for SwiftDemoKit: every declaration is backed by a generated thunk. declare module "ns:swift/SwiftDemoKit" { + export class Box { + constructor(value: Value); + value: Value; + replaced(value: Value): Box; + } + export type Coin = "dime" | "penny"; export namespace Coin { export const dime: "dime"; export const penny: "penny"; } + export class Pair { + constructor(first: First, second: Second); + constructor(args: { first: First; second: Second }); + first: First; + second: Second; + swapped(): Pair; + } + export class Money { constructor(amount: number | bigint, currency: string); constructor(args: { amount: number | bigint; currency: string }); @@ -27,6 +41,12 @@ declare module "ns:swift/SwiftDemoKit" { deposit(money: Money): void; } + export type Outcome = + | { case: "done"; value: Value } + | { case: "failed"; reason: string }; + export namespace Outcome { + } + export function formatted(money: Money): string; } diff --git a/metadata-generator/tests/swift/typescript/usage.ts b/metadata-generator/tests/swift/typescript/usage.ts index 5bf02355..8b624b60 100644 --- a/metadata-generator/tests/swift/typescript/usage.ts +++ b/metadata-generator/tests/swift/typescript/usage.ts @@ -2,6 +2,8 @@ // the generated swift!SwiftDemo.d.ts snapshot. Every @ts-expect-error line // must fail to compile: an unused directive is itself an error. import * as swift from "ns:swift"; +import * as Kit from "ns:swift/SwiftDemoKit"; +import type * as SwiftDemoTypes from "ns:swift/SwiftDemo"; import { Demo, Point, Flavor, Polygon, Measurement, Square, Tracker, Counter, Palette, shout, globalCounter, delayedEcho, makeTrackerLater, countdown, greetLater, Notifier, measure, area, simplify, echo, Formula, bump, append, describe, firstSubview, makeNote } from "ns:swift/SwiftDemo"; const SwiftDemo = swift.module("SwiftDemo"); @@ -51,6 +53,14 @@ const subview: UIView | null = firstSubview(view); void [describe(view), subview, makeNote("n")]; // @ts-expect-error Objective-C parameters are typed describe("view"); +const pair: Kit.Pair = new Kit.Pair(1, "one"); +const swappedPair: Kit.Pair = pair.swapped(); +const score: SwiftDemoTypes.Score = SwiftDemo.makeScore("ada", 3); +const settled = SwiftDemo.settle(1); +const settledValue: number = settled.case === "done" ? settled.value : 0; +void [swappedPair, score, settledValue, SwiftDemo.describe(pair)]; +// @ts-expect-error an instantiation's arguments are typed +SwiftDemo.describe(new Kit.Pair("one", 1)); // @ts-expect-error inout parameters take a reference object bump(1); // @ts-expect-error a case's values are typed From e1d2c863dbb59fb6afacc458a4655120b4c76615 Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Tue, 20 Oct 2026 16:29:43 -0700 Subject: [PATCH 3/6] feat(swift-interop): JS implementations of Swift protocols A parameter typed by a module protocol (`any P`, or a bare `P`) now accepts a Swift value that conforms to it, or a JS object implementing it (ABI 9). A protocol is adoptable when: - its requirements are instance methods and properties that bridge; - it has no associated types or `Self` requirements; - it has no static, async or main-actor requirements; - it refines at most one module protocol. For each adoptable protocol, the thunks get an __NSAdapter class conforming to it. Each requirement calls the JS object's member of the same name through new object-call entries and reads the returned value. A failure makes a throwing requirement throw. Otherwise the requirement returns its type's zero value, or traps when the type has none. Results come back as the JS object they started as, as their own registered class or struct, or boxed as the protocol, whose JS class carries the protocol's members. The runtime checks that a JS implementation provides every requirement, and builds each protocol's requirement table: the refined protocol's requirements, then its own. A requirement called from another thread runs on the isolate's thread while the Swift caller waits. A JS exception raised during a JS call takes precedence over the error a thunk reports. Callback handles generalize to JS object handles. TypeScript declares protocols as interfaces. The fixture covers JS and Swift conformers, throwing requirements, refinement, implementations Swift holds, and calls from a background task. --- NativeScript/runtime/SwiftInterop.h | 28 +- NativeScript/runtime/SwiftInterop.mm | 336 ++++- TestRunner/app/tests/SwiftInteropTests.js | 88 +- docs/swift-interop.md | 37 +- .../Interop/SwiftDemo+NativeScript.swift | 1212 ++++++++++++----- .../Sources/SwiftDemo/Protocols.swift | 65 + .../symbolgraphs/SwiftDemo.symbols.json | 2 +- .../src/Swift/CapabilityClassifier.cpp | 160 ++- .../src/Swift/CapabilityClassifier.h | 8 +- metadata-generator/src/Swift/ProbeEmitter.cpp | 3 +- metadata-generator/src/Swift/SwiftSource.cpp | 3 +- metadata-generator/src/Swift/SwiftSurface.cpp | 32 +- metadata-generator/src/Swift/SwiftSurface.h | 10 +- metadata-generator/src/Swift/ThunkEmitter.cpp | 311 ++++- metadata-generator/src/Swift/ThunkEmitter.h | 2 +- .../src/TypeScript/SwiftDefinitionWriter.cpp | 38 +- .../tests/swift/ClassifierTests.cpp | 9 +- .../tests/swift/SymbolGraphLoaderTests.cpp | 14 + .../tests/swift/ThunkEmitterTests.cpp | 5 +- .../swift/snapshots/SwiftDemo.coverage.json | 307 ++++- .../tests/swift/snapshots/SwiftDemo.ir.json | 734 ++++++++++ .../swift/snapshots/SwiftDemo.probe.swift | 479 ++++--- .../swift/snapshots/swift!SwiftDemo.d.ts | 48 + .../tests/swift/typescript/usage.ts | 9 + v8ios.xcodeproj/project.pbxproj | 4 + 25 files changed, 3359 insertions(+), 585 deletions(-) create mode 100644 metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Protocols.swift diff --git a/NativeScript/runtime/SwiftInterop.h b/NativeScript/runtime/SwiftInterop.h index 725c8475..e8f479e1 100644 --- a/NativeScript/runtime/SwiftInterop.h +++ b/NativeScript/runtime/SwiftInterop.h @@ -40,7 +40,7 @@ // calls it by reporting the arguments as an array: callbackBegin, each // argument through the complete* entries, then completeArrayEnd. -#define NS_SWIFT_ABI_VERSION 8 +#define NS_SWIFT_ABI_VERSION 9 #ifdef __cplusplus extern "C" { @@ -83,6 +83,9 @@ enum { NSSwiftTagCase = 10, // An Objective-C object borrowed (+0) for the duration of the call. NSSwiftTagObjC = 11, + // A JS object implementing a protocol: payload.object is a handle, + // borrowed for the call like a callback handle. + NSSwiftTagJSObject = 12, }; typedef struct NSSwiftAPI NSSwiftAPI; @@ -107,6 +110,10 @@ enum { NSSwiftTypeEnum = 3, // An enum with associated values. NSSwiftTypeTaggedEnum = 4, + // A protocol JS objects can implement; `superIndex` names the protocol it + // refines. Its members are its requirements (NSSwiftMemberRequirement) + // and extension members, called on boxed values of the protocol. + NSSwiftTypeProtocol = 5, }; enum { @@ -130,6 +137,10 @@ enum { NSSwiftMemberAsync = 1 << 3, // Isolated to the main actor; the thunk rejects calls from other threads. NSSwiftMemberMainActor = 1 << 4, + // A protocol requirement. A protocol's requirement table is its refined + // protocol's, then its own requirements in registration order; adapters + // call entry k as 2k (2k + 1 for a property setter). + NSSwiftMemberRequirement = 1 << 5, }; // Member signatures: comma-separated parameter codes, '>', result code. @@ -152,6 +163,8 @@ enum { // (,...) // closure returning Void, of the listed parameters // (NSSwiftTagFunction) <- JS function; parameters only +// p value of protocol type index n: a Swift object (tag Object) +// or a JS object implementing it (NSSwiftTagJSObject) // @ instance of Objective-C class (its runtime name) // (NSSwiftTagObjC) <-> NativeScript's Objective-C wrapper // ? optional: JS null/undefined <-> NSSwiftTagNull @@ -266,6 +279,19 @@ struct NSSwiftAPI { // A Swift module of the unit, registered before its types and members. /* 42 */ void (*registerUnitModule)(NSSwiftRegistrar* registrar, const char* name); + + // Calls requirement `index` of a JS object handle: Begin, the arguments + // through the complete* entries, then End, which runs the JS member on the + // isolate's thread (waiting for it from any other thread) and returns its + // result as one slot, or null when it threw or returned a value that does + // not convert. A non-null result is released with objectResultRelease. + // Handles are retained and released with callbackRetain/Release. + /* 43 */ void* (*objectCallBegin)(void* object, intptr_t index); + /* 44 */ const NSSwiftValue* (*objectCallEnd)(void* token); + /* 45 */ void (*objectResultRelease)(const NSSwiftValue* result); + // A JS object handle, as the JS object itself. + /* 46 */ void (*returnJSObject)(NSSwiftCall* call, void* object); + /* 47 */ void (*completeJSObject)(void* token, void* object); }; typedef void (*NSSwiftRegisterFunction)(NSSwiftRegistrar* registrar); diff --git a/NativeScript/runtime/SwiftInterop.mm b/NativeScript/runtime/SwiftInterop.mm index 6ed23f49..290587b4 100644 --- a/NativeScript/runtime/SwiftInterop.mm +++ b/NativeScript/runtime/SwiftInterop.mm @@ -5,8 +5,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -55,6 +57,7 @@ Function, Tagged, ObjC, + Protocol, }; Kind kind = Kind::Void; int bits = 64; @@ -175,6 +178,9 @@ bool ParseCode(std::string text, ValueCode& code) { case 't': code.kind = ValueCode::Kind::Tagged; return number(text.substr(1), code.typeIndex); + case 'p': + code.kind = ValueCode::Kind::Protocol; + return number(text.substr(1), code.typeIndex); case '@': code.kind = ValueCode::Kind::ObjC; code.className = text.substr(1); @@ -298,6 +304,8 @@ bool ParseSignature(const std::string& text, Signature& signature) { // Instantiations of one generic type share a module and JS name; they // form a family with one JS class, named by its first type's index. int family = -1; + // NSSwiftTypeProtocol: the requirement table adapters call by index. + std::vector requirements; }; bool IsEnumKind(uint32_t kind) { return kind == NSSwiftTypeEnum || kind == NSSwiftTypeTaggedEnum; } @@ -370,6 +378,7 @@ bool IsA(uint32_t typeIndex, int expected) const { case ValueCode::Kind::Object: case ValueCode::Kind::Enum: case ValueCode::Kind::Tagged: + case ValueCode::Kind::Protocol: name = code.typeIndex >= 0 && code.typeIndex < static_cast(module.types.size()) ? module.types[code.typeIndex].jsName : "?"; @@ -526,6 +535,14 @@ void ApiCompleteError(void* token, const uint8_t* message, intptr_t messageLengt void ApiReturnObjC(NSSwiftCall* call, void* object); void ApiCompleteObjC(void* token, void* object); void ApiRegisterUnitModule(NSSwiftRegistrar* registrar, const char* name); +void* ApiObjectCallBegin(void* object, intptr_t index); +const NSSwiftValue* ApiObjectCallEnd(void* token); +void ApiObjectResultRelease(const NSSwiftValue* result); +void ApiReturnJSObject(NSSwiftCall* call, void* object); +void ApiCompleteJSObject(void* token, void* object); +struct SwiftCallback; +Local JSObjectOf(SwiftCallback* handle, Isolate* isolate); +void ReleaseCallback(SwiftCallback* callback); const NSSwiftAPI kAPI = { ApiReturnVoid, ApiReturnBool, ApiReturnInt64, @@ -542,7 +559,8 @@ void ApiCompleteError(void* token, const uint8_t* message, intptr_t messageLengt ApiCallbackRelease, ApiReturnCaseBegin, ApiCompleteCaseBegin, ApiReturnArrayEnd, ApiCompleteContainerEnd, ApiWriteBackBegin, ApiWriteBackEnd, ApiReturnObjC, ApiCompleteObjC, - ApiRegisterUnitModule, + ApiRegisterUnitModule, ApiObjectCallBegin, ApiObjectCallEnd, + ApiObjectResultRelease, ApiReturnJSObject, ApiCompleteJSObject, }; // "Polygon.Style" -> "Style". @@ -565,6 +583,31 @@ bool IsValidModuleName(const std::string& name) { return true; } +void BuildRequirements(ModuleInfo& module) { + std::vector built(module.types.size(), false); + std::function build = [&](TypeInfo& type) { + if (built[type.index]) { + return; + } + built[type.index] = true; + if (type.superIndex >= 0 && module.types[type.superIndex].kind == NSSwiftTypeProtocol) { + build(module.types[type.superIndex]); + type.requirements = module.types[type.superIndex].requirements; + } + for (const MemberInfo& member : module.members) { + if (member.owner == static_cast(type.index) && + (member.flags & NSSwiftMemberRequirement)) { + type.requirements.push_back(&member); + } + } + }; + for (TypeInfo& type : module.types) { + if (type.kind == NSSwiftTypeProtocol) { + build(type); + } + } +} + void BuildFamilies(ModuleInfo& module) { std::map first; for (TypeInfo& type : module.types) { @@ -682,6 +725,11 @@ void BuildGroups(ModuleInfo& module) { module.types[code->typeIndex].kind != NSSwiftTypeTaggedEnum)) { return member.swiftName + " references an unknown enum"; } + if (code->kind == ValueCode::Kind::Protocol && + (!validType(code->typeIndex) || + module.types[code->typeIndex].kind != NSSwiftTypeProtocol)) { + return member.swiftName + " references an unknown protocol"; + } for (const auto& element : code->element) { codes.push_back(&element); } @@ -734,6 +782,7 @@ void BuildGroups(ModuleInfo& module) { module->error = "Swift module '" + name + "' " + problem; } else { BuildFamilies(*module); + BuildRequirements(*module); BuildGroups(*module); for (const auto& other : module->modules) { gModules.emplace(other, module); @@ -959,6 +1008,11 @@ bool IsObjCInstance(id object, const ValueCode& code) { return object != nil && (code.objcClass == nil || [object isKindOfClass:code.objcClass]); } +void ApiReturnJSObject(NSSwiftCall* call, void* object) { + CallContext* context = ContextOf(call); + Complete(context, JSObjectOf(static_cast(object), context->isolate)); +} + void ApiReturnObjC(NSSwiftCall* call, void* object) { CallContext* context = ContextOf(call); Local value; @@ -1273,6 +1327,9 @@ void ApiThrowTypeError(NSSwiftCall* call, const uint8_t* message, intptr_t lengt // What a Swift task produced, in a form that can cross threads. Arrays and // maps hold their elements (a map's alternate key and value) as children, a // tagged enum case its values (with its case index in `int64`). +struct SwiftCallback; +void ReleaseCallback(SwiftCallback* callback); + struct AsyncOutcome { enum class Kind { Void, @@ -1288,6 +1345,8 @@ void ApiThrowTypeError(NSSwiftCall* call, const uint8_t* message, intptr_t lengt Map, Case, ObjC, + // `object` is a JS object handle the outcome holds a reference to. + JSObject, }; Kind kind = Kind::Void; bool boolean = false; @@ -1303,7 +1362,9 @@ void ApiThrowTypeError(NSSwiftCall* call, const uint8_t* message, intptr_t lengt // An undelivered object (the isolate went away) still owns its retain. ~AsyncOutcome() { - if (object != nullptr) { + if (object != nullptr && kind == Kind::JSObject) { + ReleaseCallback(static_cast(object)); + } else if (object != nullptr) { module->release(object); } } @@ -1319,6 +1380,8 @@ void ApiThrowTypeError(NSSwiftCall* call, const uint8_t* message, intptr_t lengt std::vector open; // Set for a callback invocation; the token holds a reference. struct SwiftCallback* callback = nullptr; + // An object call (objectCallBegin): the encoded requirement. + intptr_t requirement = -1; }; // Converts `node` (of `code`) to JS; on failure sets `rejection` and returns @@ -1391,6 +1454,9 @@ bool OutcomeToJS(Isolate* isolate, Local context, IsolateState* state, out = wrapper; return true; } + case AsyncOutcome::Kind::JSObject: + out = JSObjectOf(static_cast(node.object), isolate); + return true; case AsyncOutcome::Kind::ObjC: { id object = static_cast(node.object); node.object = nullptr; @@ -1484,28 +1550,33 @@ void SettleOnIsolate(Isolate* isolate, uint64_t id, AsyncOutcome& outcome) { // --- Callbacks --------------------------------------------------------------------- -// A JS function passed for a closure parameter. The call's arena holds one -// reference, each Swift closure capturing it another, and each invocation in -// flight one more. `function` is only touched on the isolate's thread. +// A JS function passed for a closure parameter, or a JS object passed for a +// protocol value (`code` says which). The call's arena holds one reference, +// each Swift closure or adapter holding it another, and each invocation in +// flight one more. `target` is only touched on the isolate's thread. struct SwiftCallback { SwiftCallback(Isolate* isolate, const ModuleInfo* module, const ValueCode& code, - const std::string& name, Local function) + const std::string& name, Local target) : isolate(isolate), wrapper(isolate), module(module), code(code), name(name), - function(isolate, function) {} + target(isolate, target) {} Isolate* isolate; IsolateWrapper wrapper; const ModuleInfo* module; ValueCode code; std::string name; - Global function; + Global target; std::atomic references{1}; }; +Local JSObjectOf(SwiftCallback* handle, Isolate* isolate) { + return handle->target.Get(isolate); +} + // Runs `body` on the isolate's thread with the isolate locked and valid: // now when called there, otherwise queued. Returns false when it will not run. bool OnIsolateThread(Isolate* isolate, IsolateWrapper wrapper, std::function body) { @@ -1575,7 +1646,8 @@ void RunCallback(SwiftCallback* callback, AsyncOutcome& arguments) { } if (exception.IsEmpty()) { Local ignored; - if (callback->function.Get(isolate) + if (callback->target.Get(isolate) + .As() ->Call(context, v8::Undefined(isolate), static_cast(argv.size()), argv.data()) .ToLocal(&ignored) || !tryCatch.HasCaught() || !tryCatch.CanContinue()) { @@ -1749,6 +1821,19 @@ void ApiCompleteMapBegin(void* token, intptr_t /*count*/) { Emit(token, Outcome(AsyncOutcome::Kind::Map)); } +void ApiCompleteJSObject(void* token, void* object) { + auto outcome = Outcome(AsyncOutcome::Kind::JSObject); + ApiCallbackRetain(object); + outcome->object = object; + Emit(token, outcome); +} + +void* ApiObjectCallBegin(void* object, intptr_t index) { + auto* token = static_cast(ApiCallbackBegin(object)); + token->requirement = index; + return token; +} + void ApiCompleteObjC(void* token, void* object) { auto outcome = Outcome(AsyncOutcome::Kind::ObjC); outcome->object = object; @@ -1833,16 +1918,28 @@ bool Accepts(Isolate* isolate, const ModuleInfo& module, const ValueCode& code, return value->IsFunction(); case ValueCode::Kind::ObjC: return IsObjCInstance(ObjCObjectOf(isolate, value), code); + case ValueCode::Kind::Protocol: { + // A Swift value is checked by the thunk. + SwiftObjectWrapper* wrapper = SwiftWrapperOf(isolate, value); + return wrapper + ? wrapper->Module() == &module + : value->IsObject() && !value->IsArray() && ObjCObjectOf(isolate, value) == nil; + } case ValueCode::Kind::Void: return false; } return false; } +// The index Convert is given for a JS implementation's return value. +constexpr size_t kReturnedValue = static_cast(-1); + bool ThrowArgument(Isolate* isolate, const MemberInfo& member, size_t index, const std::string& problem, bool range = false) { - std::string message = - member.swiftName + ": argument " + std::to_string(index + 1) + " " + problem; + std::string message = member.swiftName + ": " + + (index == kReturnedValue ? std::string("the value returned") + : "argument " + std::to_string(index + 1)) + + " " + problem; Local text = tns::ToV8String(isolate, message); isolate->ThrowException(range ? Exception::RangeError(text) : Exception::TypeError(text)); return false; @@ -2156,6 +2253,45 @@ bool Convert(Isolate* isolate, Local context, const ModuleInfo& module, return true; } + case ValueCode::Kind::Protocol: { + const TypeInfo& protocol = module.types[code.typeIndex]; + if (SwiftObjectWrapper* wrapper = SwiftWrapperOf(isolate, value)) { + if (wrapper->Module() != &module) { + return ThrowArgument(isolate, member, index, "must be a " + protocol.jsName); + } + slot.tag = NSSwiftTagObject; + slot.payload.object = wrapper->Object(); + return true; + } + if (!value->IsObject() || value->IsArray() || ObjCObjectOf(isolate, value) != nil) { + return ThrowArgument(isolate, member, index, + "must be a " + protocol.jsName + " or an object implementing it"); + } + // A JS implementation must provide every requirement. + Local object = value.As(); + std::string missing; + for (const MemberInfo* requirement : protocol.requirements) { + Local key = tns::ToV8String(isolate, requirement->jsName); + Local found; + bool present = requirement->kind == NSSwiftMemberInstanceProperty + ? object->Has(context, key).FromMaybe(false) + : object->Get(context, key).ToLocal(&found) && found->IsFunction(); + if (!present) { + missing += (missing.empty() ? "" : ", ") + requirement->jsName; + } + } + if (!missing.empty()) { + return ThrowArgument( + isolate, member, index, + "does not implement " + protocol.jsName + " (missing " + missing + ")"); + } + auto* handle = new SwiftCallback(isolate, &module, code, member.swiftName, object); + arena.callbacks.push_back(handle); + slot.tag = NSSwiftTagJSObject; + slot.payload.object = handle; + return true; + } + case ValueCode::Kind::ObjC: { id object = ObjCObjectOf(isolate, value); if (!IsObjCInstance(object, code)) { @@ -2171,7 +2307,7 @@ bool Convert(Isolate* isolate, Local context, const ModuleInfo& module, return ThrowArgument(isolate, member, index, "must be a function"); } auto* callback = - new SwiftCallback(isolate, &module, code, member.swiftName, value.As()); + new SwiftCallback(isolate, &module, code, member.swiftName, value.As()); arena.callbacks.push_back(callback); slot.tag = NSSwiftTagFunction; slot.payload.object = callback; @@ -2184,6 +2320,174 @@ bool Convert(Isolate* isolate, Local context, const ModuleInfo& module, return ThrowArgument(isolate, member, index, "has an unsupported type"); } +// --- Calls into JS implementations of protocols ------------------------------------- + +// A JS implementation's return value as one slot, with the storage it +// points into. +struct ObjectResult { + NSSwiftValue value{}; + SlotArena arena; +}; + +// Runs requirement `encoded` of `handle` with `arguments`, on the isolate's +// thread; null when it threw or its value does not convert. +ObjectResult* RunObjectCall(SwiftCallback* handle, AsyncOutcome& arguments, intptr_t encoded) { + Isolate* isolate = handle->isolate; + Isolate::Scope isolateScope(isolate); + HandleScope handleScope(isolate); + auto* state = Caches::StateFor(isolate); + if (state == nullptr) { + return nullptr; + } + Local context = Caches::Get(isolate)->GetContext(); + Context::Scope contextScope(context); + + const ModuleInfo& module = *handle->module; + const TypeInfo& protocol = module.types[handle->code.typeIndex]; + size_t position = static_cast(encoded / 2); + bool setter = encoded % 2 == 1; + if (encoded < 0 || position >= protocol.requirements.size()) { + return nullptr; + } + const MemberInfo& member = *protocol.requirements[position]; + bool property = member.kind == NSSwiftMemberInstanceProperty; + + // The innermost call in progress on this thread made this one. + CallContext* call = state->calls.empty() ? nullptr : state->calls.back(); + if (call != nullptr && !call->callbackException.IsEmpty()) { + return nullptr; + } + + TryCatch tryCatch(isolate); + Local exception; + std::vector codes; + if (!property) { + codes = member.signature.parameters; + } else if (setter) { + codes.push_back(member.signature.result); + } + std::vector> argv; + for (size_t i = 0; i < codes.size() && i < arguments.children.size(); i++) { + Local value; + if (!OutcomeToJS(isolate, context, state, member.swiftName, *arguments.children[i], codes[i], + value, exception)) { + break; + } + argv.push_back(value); + } + + auto result = std::make_unique(); + Local target = handle->target.Get(isolate); + Local key = tns::ToV8String(isolate, member.jsName); + bool done = false; + if (exception.IsEmpty()) { + Local returned; + if (property && setter) { + done = + target->Set(context, key, argv.empty() ? Local(v8::Undefined(isolate)) : argv[0]) + .FromMaybe(false); + result->value.tag = NSSwiftTagNull; + } else if (property) { + done = target->Get(context, key).ToLocal(&returned); + } else { + Local function; + if (target->Get(context, key).ToLocal(&function)) { + if (function->IsFunction()) { + done = function.As() + ->Call(context, target, static_cast(argv.size()), argv.data()) + .ToLocal(&returned); + } else { + exception = Exception::TypeError(tns::ToV8String( + isolate, protocol.jsName + "." + member.jsName + " is not a function")); + } + } + } + if (done && !(property && setter)) { + if (member.signature.result.kind == ValueCode::Kind::Void) { + result->value.tag = NSSwiftTagNull; + } else { + done = Convert(isolate, context, module, member, kReturnedValue, member.signature.result, + returned, result->value, result->arena); + } + } + } + if (done) { + return result.release(); + } + if (exception.IsEmpty()) { + if (!tryCatch.HasCaught() || !tryCatch.CanContinue()) { + return nullptr; + } + exception = tryCatch.Exception(); + } + if (call != nullptr) { + call->callbackException.Reset(isolate, exception); + } else { + NativeScriptException::ReportToJsHandlersAndLog(isolate, exception, tryCatch.Message()); + } + return nullptr; +} + +const NSSwiftValue* ApiObjectCallEnd(void* rawToken) { + std::unique_ptr token(static_cast(rawToken)); + SwiftCallback* handle = token->callback; + std::shared_ptr arguments = token->root; + intptr_t encoded = token->requirement; + ObjectResult* result = nullptr; + + if (Isolate::TryGetCurrent() == handle->isolate) { + v8::Locker locker(handle->isolate); + if (handle->wrapper.IsValid()) { + result = RunObjectCall(handle, *arguments, encoded); + } + } else { + // Run on the isolate's thread and wait. The guard ends the wait when the + // loop drops the task without running it. + struct Wait { + std::mutex mutex; + std::condition_variable condition; + bool done = false; + ObjectResult* result = nullptr; + void Finish(ObjectResult* value) { + std::lock_guard lock(mutex); + if (!done) { + done = true; + result = value; + } else { + delete value; + } + condition.notify_all(); + } + }; + struct Guard { + std::shared_ptr wait; + ~Guard() { wait->Finish(nullptr); } + }; + auto wait = std::make_shared(); + std::shared_ptr guard(new Guard{wait}); + NativeScriptPlatform* platform = NativeScriptPlatform::Instance(); + std::shared_ptr loop = + platform ? platform->LookupEventLoop(handle->isolate) : std::shared_ptr(); + IsolateWrapper isolateWrapper = handle->wrapper; + bool posted = loop && loop->PostInternal([guard, handle, arguments, encoded, isolateWrapper]() { + guard->wait->Finish(isolateWrapper.IsValid() ? RunObjectCall(handle, *arguments, encoded) + : nullptr); + }); + guard.reset(); + if (posted) { + std::unique_lock lock(wait->mutex); + wait->condition.wait(lock, [&] { return wait->done; }); + result = wait->result; + } + } + ReleaseCallback(handle); + return result ? &result->value : nullptr; +} + +void ApiObjectResultRelease(const NSSwiftValue* value) { + delete reinterpret_cast(const_cast(value)); +} + // --- Dispatch ---------------------------------------------------------------------- bool IsInstanceKind(uint32_t kind) { @@ -2355,13 +2659,15 @@ bool Select(Isolate* isolate, Local context, const MemberGroup& group, thunk(&call, slots.empty() ? nullptr : slots.data(), static_cast(slots.size())); state->calls.pop_back(); - if (call.threw) { - return MaybeLocal(); - } + // A JS exception thrown while the thunk ran caused whatever error the + // thunk reported, so it is the one JS sees. if (!call.callbackException.IsEmpty()) { isolate->ThrowException(call.callbackException.Get(isolate)); return MaybeLocal(); } + if (call.threw) { + return MaybeLocal(); + } if (!call.completed) { isolate->ThrowException(Exception::Error( tns::ToV8String(isolate, "Swift thunk for " + member.swiftName + " reported no result"))); diff --git a/TestRunner/app/tests/SwiftInteropTests.js b/TestRunner/app/tests/SwiftInteropTests.js index 627e655e..10884de2 100644 --- a/TestRunner/app/tests/SwiftInteropTests.js +++ b/TestRunner/app/tests/SwiftInteropTests.js @@ -9,7 +9,7 @@ describe("ns:swift", function () { it("exports a frozen loader", function () { expect(Object.isFrozen(swift)).toBe(true); expect(Object.keys(swift).sort()).toEqual(["abiVersion", "info", "module"]); - expect(swift.abiVersion).toBe(8); + expect(swift.abiVersion).toBe(9); }); it("returns one frozen namespace per module", function () { @@ -20,7 +20,7 @@ describe("ns:swift", function () { it("describes the linked module", function () { var info = swift.info("SwiftDemo"); expect(info.name).toBe("SwiftDemo"); - expect(info.abiVersion).toBe(8); + expect(info.abiVersion).toBe(9); expect(info.fingerprint).toMatch(/^[0-9a-f]{16}$/); expect(info.members).toBeGreaterThan(0); }); @@ -566,6 +566,90 @@ describe("ns:swift", function () { }); }); + describe("protocols", function () { + function jsGreeting(name) { + return { + name: name, + punctuation: "?", + greet: function (other) { return "hey " + other + " from " + this.name; }, + reset: function () { this.punctuation = "."; }, + }; + } + + it("passes JS objects implementing a protocol", function () { + expect(SwiftDemo.introduce(jsGreeting("js"), "ada")).toBe("hey ada from js?"); + }); + + it("assigns properties through the implementation", function () { + var greeting = jsGreeting("js"); + SwiftDemo.excite(greeting); + expect(greeting.punctuation).toBe("!"); + }); + + it("returns a JS implementation as the object it was given", function () { + var greeting = jsGreeting("js"); + expect(SwiftDemo.same(greeting)).toBe(greeting); + }); + + it("passes Swift conformers as their own class", function () { + var formal = SwiftDemo.makeGreeting("ada"); + expect(formal instanceof SwiftDemo.FormalGreeting).toBe(true); + expect(SwiftDemo.introduce(formal, "bo")).toBe("Good day, bo, from ada."); + expect(SwiftDemo.same(formal)).toBe(formal); + var scorer = SwiftDemo.makeScorer(); + expect(scorer instanceof SwiftDemo.DoublingScorer).toBe(true); + expect(SwiftDemo.scoreAll(scorer, [1, 2])).toEqual([2, 4]); + }); + + it("throws a JS implementation's exception from the call", function () { + var scorer = { + score: function (value) { + if (value > 1) { + throw new Error("too big"); + } + return value; + }, + }; + expect(SwiftDemo.scoreAll(scorer, [1])).toEqual([1]); + expect(function () { SwiftDemo.scoreAll(scorer, [1, 2]); }).toThrowError("too big"); + }); + + it("implements refined protocols' requirements too", function () { + var scorer = { rank: 3, score: function (value) { return value + 10; } }; + expect(SwiftDemo.topRank(scorer)).toBe("3:11"); + scorer.rank = null; + expect(SwiftDemo.topRank(scorer)).toBe("-1:11"); + }); + + it("refuses incomplete implementations", function () { + expect(function () { + SwiftDemo.introduce({ name: "x", greet: function () { return ""; } }, "y"); + }).toThrowError(TypeError, /missing .*punctuation.*reset|missing .*reset.*punctuation/); + }); + + it("keeps implementations Swift holds", function () { + var holder = new SwiftDemo.GreetingHolder(); + holder.greeting = jsGreeting("held"); + gc(); + expect(holder.greet("you")).toBe("hey you from held"); + expect(holder.greeting.name).toBe("held"); + holder.greeting = null; + expect(holder.greet("you")).toBeNull(); + }); + + it("runs requirements called from other threads on the JS thread", function (done) { + var greeting = jsGreeting("js"); + greeting.greet = function (other) { return other + ":" + NSThread.isMainThread; }; + SwiftDemo.greetInBackground(greeting).then(function (text) { + expect(text).toBe("background:true"); + done(); + }, function (error) { + fail(error); + done(); + }); + }); + }); + describe("Objective-C objects", function () { it("passes NativeScript's Objective-C wrappers", function () { var view = UIView.new(); diff --git a/docs/swift-interop.md b/docs/swift-interop.md index c06babff..f0bf71f0 100644 --- a/docs/swift-interop.md +++ b/docs/swift-interop.md @@ -171,6 +171,40 @@ as Swift holds the closure, and drops it when Swift releases the closure. parameters, closures with `inout` parameters, and closures returned from Swift are not bridged yet. +## Protocols + +A parameter typed by a protocol (`any Greeting`) accepts a Swift value that +conforms to it, or a JS object implementing it: + +```js +SwiftDemo.introduce({ + name: "js", + punctuation: "?", + greet(other) { return "hey " + other; }, + reset() {}, +}, "ada"); +``` + +The object must provide every requirement (the call throws `TypeError` +naming the missing ones), including those of a protocol it refines; TypeScript +declares the protocol as an interface. Swift calls it through a generated +adapter: on the JS thread the member runs before the call returns, and from +any other thread the call waits while it runs on the JS thread, so a Swift +thread must not hold up the JS thread while waiting on such a call. When the +member throws, a throwing requirement throws a Swift error (and a call in +progress from JS rethrows the JS exception); any other requirement returns +its type's zero value (`0`, `""`, `nil`, an empty collection), or traps when +the type has none. + +A protocol value returned to JS is the JS object it came from, a Swift +object of its own registered class, or else a boxed value of the protocol. +Swift holds the adapter, and through it the JS object, as long as it keeps +the value; a `weak` reference does not keep it. + +Protocols with associated types, `Self` requirements, static or `async` +requirements, initializers, or more than one refined module protocol stay +type-only. + ## Async, actors and the main actor - `async` functions return a Promise. The call reads its arguments @@ -217,7 +251,8 @@ verification is what makes the generated surface trustworthy at SDK scale. ## Not yet supported Closures that return values, async cancellation, generic functions, -`Result` and other standard library generics, protocols as values, tuples, sets, optional collection +`Result` and other standard library generics, protocols with associated +types, tuples, sets, optional collection elements, subscripts and operators. Each appears in the coverage report with its reason. diff --git a/metadata-generator/TestFixtures/SwiftDemo/Interop/SwiftDemo+NativeScript.swift b/metadata-generator/TestFixtures/SwiftDemo/Interop/SwiftDemo+NativeScript.swift index 0ead5703..d1b4a61f 100644 --- a/metadata-generator/TestFixtures/SwiftDemo/Interop/SwiftDemo+NativeScript.swift +++ b/metadata-generator/TestFixtures/SwiftDemo/Interop/SwiftDemo+NativeScript.swift @@ -1,5 +1,5 @@ // Generated by objc-metadata-generator from the SwiftDemo symbol graphs. Do not edit. -// NativeScript Swift interop thunks, ABI 8: see NativeScript/runtime/SwiftInterop.h. +// NativeScript Swift interop thunks, ABI 9: see NativeScript/runtime/SwiftInterop.h. import Foundation import SwiftDemo import SwiftDemoKit @@ -15,6 +15,16 @@ private final class __NSBox { init(_ value: Value) { self.value = value } } +// A boxed struct as a value of a protocol it conforms to. +private protocol __NSAnyBox { var anyValue: Any { get } } +extension __NSBox: __NSAnyBox { var anyValue: Any { value } } + +// What a Swift adapter reports when its JavaScript implementation throws. +private struct __NSJSError: Error, CustomStringConvertible { + let requirement: String + var description: String { "the JavaScript implementation of \(requirement) failed" } +} + // The result entries calls and completions share, so value reporting code // serves both. private protocol __NSReporter { @@ -31,6 +41,7 @@ private protocol __NSReporter { func returnObject(_ object: AnyObject, _ typeIndex: UInt32) func returnCase(_ index: Int, _ values: () -> Void) func returnObjC(_ object: AnyObject) + func returnJSObject(_ object: __NSJSObject) } // Reads arguments (24-byte slots) and reports results through the runtime's @@ -39,7 +50,10 @@ private protocol __NSReporter { // maps point at their own slots (a map's are key, value, key, value, ...). private struct __NSSlots { let base: UnsafeRawPointer? + // The API table, for values that call back into the runtime. + let api: UnsafeRawPointer + func tag(_ i: Int) -> UInt32 { base!.load(fromByteOffset: i * 24, as: UInt32.self) } func isNull(_ i: Int) -> Bool { base!.load(fromByteOffset: i * 24, as: UInt32.self) == 0 } func bool(_ i: Int) -> Bool { base!.load(fromByteOffset: i * 24 + 8, as: UInt8.self) != 0 } func int64(_ i: Int) -> Int64 { base!.load(fromByteOffset: i * 24 + 8, as: Int64.self) } @@ -61,7 +75,8 @@ private struct __NSSlots { } func elements(_ i: Int) -> (__NSSlots, Int) { let start = base!.load(fromByteOffset: i * 24 + 8, as: UnsafeRawPointer?.self) - return (__NSSlots(base: start), Int(base!.load(fromByteOffset: i * 24 + 16, as: UInt64.self))) + return (__NSSlots(base: start, api: api), + Int(base!.load(fromByteOffset: i * 24 + 16, as: UInt64.self))) } } @@ -96,7 +111,7 @@ private struct __NSCall: __NSReporter { init(call: UnsafeMutableRawPointer, args: UnsafeRawPointer?) { self.call = call - self.slots = __NSSlots(base: args) + self.slots = __NSSlots(base: args, api: call.load(as: UnsafeRawPointer.self)) } private func slot(_ index: Int, _: Function.Type) -> Function { @@ -175,6 +190,10 @@ private struct __NSCall: __NSReporter { slot(40, (@convention(c) (UnsafeMutableRawPointer, UnsafeMutableRawPointer) -> Void).self)( call, Unmanaged.passRetained(object).toOpaque()) } + func returnJSObject(_ object: __NSJSObject) { + slot(46, (@convention(c) (UnsafeMutableRawPointer, UnsafeMutableRawPointer) -> Void).self)( + call, object.handle) + } func throwError(_ error: any Error) { report(String(describing: error), String(reflecting: type(of: error))) } @@ -272,6 +291,10 @@ private struct __NSCompletion: @unchecked Sendable, __NSReporter { slot(41, (@convention(c) (UnsafeMutableRawPointer, UnsafeMutableRawPointer) -> Void).self)( token, Unmanaged.passRetained(object).toOpaque()) } + func returnJSObject(_ object: __NSJSObject) { + slot(47, (@convention(c) (UnsafeMutableRawPointer, UnsafeMutableRawPointer) -> Void).self)( + token, object.handle) + } func throwError(_ error: any Error) { var message = String(describing: error) var type = String(reflecting: Swift.type(of: error)) @@ -311,6 +334,41 @@ private final class __NSCallback: @unchecked Sendable { } } +// A JS object implementing a protocol; adapters call its members. Calls from +// other threads run on the isolate's thread and wait for it. +private final class __NSJSObject: @unchecked Sendable { + let api: UnsafeRawPointer + let handle: UnsafeMutableRawPointer + + init(api: UnsafeRawPointer, handle: UnsafeMutableRawPointer) { + self.api = api + self.handle = handle + api.load(fromByteOffset: 32 * 8, as: (@convention(c) (UnsafeMutableRawPointer) -> Void).self)(handle) + } + + deinit { + api.load(fromByteOffset: 33 * 8, as: (@convention(c) (UnsafeMutableRawPointer) -> Void).self)(handle) + } + + // Requirement `index` (2 * position, +1 for a setter) with the arguments + // `arguments` reports; nil when the JS side threw or returned a value + // `read` cannot convert. + func call(_ index: Int, _ arguments: (__NSCompletion) -> Void, + _ read: (__NSSlots) -> T?) -> T? { + let begin = api.load(fromByteOffset: 43 * 8, + as: (@convention(c) (UnsafeMutableRawPointer, Int) -> UnsafeMutableRawPointer).self) + let completion = __NSCompletion(api: api, token: begin(handle, index)) + arguments(completion) + let end = api.load(fromByteOffset: 44 * 8, + as: (@convention(c) (UnsafeMutableRawPointer) -> UnsafeRawPointer?).self) + guard let result = end(completion.token) else { return nil } + defer { + api.load(fromByteOffset: 45 * 8, as: (@convention(c) (UnsafeRawPointer) -> Void).self)(result) + } + return read(__NSSlots(base: result, api: api)) + } +} + private func __nsRelease(_ object: UnsafeMutableRawPointer) { Unmanaged.fromOpaque(object).release() } @@ -407,7 +465,7 @@ private func __nsReportCase10(_ r: R, _ value: SwiftDemo.Measur } // s:9SwiftDemo13PrecipitationO -private func __nsEnum12(_ name: String) -> SwiftDemo.Precipitation? { +private func __nsEnum13(_ name: String) -> SwiftDemo.Precipitation? { switch name { case "rain": return SwiftDemo.Precipitation.`rain` case "snow": return SwiftDemo.Precipitation.`snow` @@ -416,7 +474,7 @@ private func __nsEnum12(_ name: String) -> SwiftDemo.Precipitation? { } } -private func __nsEnumName12(_ value: SwiftDemo.Precipitation) -> String { +private func __nsEnumName13(_ value: SwiftDemo.Precipitation) -> String { switch value { case SwiftDemo.Precipitation.`rain`: return "rain" case SwiftDemo.Precipitation.`snow`: return "snow" @@ -426,7 +484,7 @@ private func __nsEnumName12(_ value: SwiftDemo.Precipitation) -> String { } // s:9SwiftDemo6FlavorO -private func __nsEnum17(_ name: String) -> SwiftDemo.Flavor? { +private func __nsEnum21(_ name: String) -> SwiftDemo.Flavor? { switch name { case "vanilla": return SwiftDemo.Flavor.`vanilla` case "chocolate": return SwiftDemo.Flavor.`chocolate` @@ -434,7 +492,7 @@ private func __nsEnum17(_ name: String) -> SwiftDemo.Flavor? { } } -private func __nsEnumName17(_ value: SwiftDemo.Flavor) -> String { +private func __nsEnumName21(_ value: SwiftDemo.Flavor) -> String { switch value { case SwiftDemo.Flavor.`vanilla`: return "vanilla" case SwiftDemo.Flavor.`chocolate`: return "chocolate" @@ -443,15 +501,15 @@ private func __nsEnumName17(_ value: SwiftDemo.Flavor) -> String { } // s:9SwiftDemo7FormulaO -private func __nsReadCase21(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Formula? { +private func __nsReadCase26(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Formula? { let (s, _) = slots.elements(i) switch s.int64(0) { case 0: - guard let e0 = __nsReadCase21(s, 1) else { return nil } - guard let e1 = __nsReadCase21(s, 2) else { return nil } + guard let e0 = __nsReadCase26(s, 1) else { return nil } + guard let e1 = __nsReadCase26(s, 2) else { return nil } return SwiftDemo.Formula.`sum`(e0, e1) case 1: - guard let e0 = __nsReadCase21(s, 1) else { return nil } + guard let e0 = __nsReadCase26(s, 1) else { return nil } return SwiftDemo.Formula.`negate`(e0) case 2: let e0 = s.double(1) @@ -460,17 +518,17 @@ private func __nsReadCase21(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Formula? } } -private func __nsReportCase21(_ r: R, _ value: SwiftDemo.Formula) { +private func __nsReportCase26(_ r: R, _ value: SwiftDemo.Formula) { switch value { - case let SwiftDemo.Formula.`sum`(p0, p1): r.returnCase(0) { __nsReportCase21(r, p0); __nsReportCase21(r, p1) } - case let SwiftDemo.Formula.`negate`(p0): r.returnCase(1) { __nsReportCase21(r, p0) } + case let SwiftDemo.Formula.`sum`(p0, p1): r.returnCase(0) { __nsReportCase26(r, p0); __nsReportCase26(r, p1) } + case let SwiftDemo.Formula.`negate`(p0): r.returnCase(1) { __nsReportCase26(r, p0) } case let SwiftDemo.Formula.`number`(p0): r.returnCase(2) { r.returnDouble(Double(p0)) } @unknown default: r.returnNull() } } // s:9SwiftDemo7PayloadO -private func __nsReadCase23(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Payload? { +private func __nsReadCase29(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Payload? { let (s, _) = slots.elements(i) switch s.int64(0) { case 0: @@ -483,7 +541,7 @@ private func __nsReadCase23(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Payload? guard let e0 = (s.object(1) as? __NSBox)?.value else { return nil } return SwiftDemo.Payload.`point`(e0) case 3: - guard let e0 = __nsEnum17(s.string(1)) else { return nil } + guard let e0 = __nsEnum21(s.string(1)) else { return nil } return SwiftDemo.Payload.`flavor`(e0) case 4: guard let e0 = s.object(1) as? SwiftDemo.Tracker else { return nil } @@ -492,19 +550,19 @@ private func __nsReadCase23(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Payload? } } -private func __nsReportCase23(_ r: R, _ value: SwiftDemo.Payload) { +private func __nsReportCase29(_ r: R, _ value: SwiftDemo.Payload) { switch value { case let SwiftDemo.Payload.`maybe`(p0): r.returnCase(0) { if let p0 { r.returnInt64(Int64(p0)) } else { r.returnNull() } } case let SwiftDemo.Payload.`names`(p0): r.returnCase(1) { r.returnArray(p0) { element in r.returnString(element) } } - case let SwiftDemo.Payload.`point`(p0): r.returnCase(2) { r.returnObject(__NSBox(p0), 15) } - case let SwiftDemo.Payload.`flavor`(p0): r.returnCase(3) { r.returnString(__nsEnumName17(p0)) } - case let SwiftDemo.Payload.`tracker`(p0): r.returnCase(4) { r.returnObject(p0, __nsTypeIndex(p0, 27)) } + case let SwiftDemo.Payload.`point`(p0): r.returnCase(2) { r.returnObject(__NSBox(p0), 19) } + case let SwiftDemo.Payload.`flavor`(p0): r.returnCase(3) { r.returnString(__nsEnumName21(p0)) } + case let SwiftDemo.Payload.`tracker`(p0): r.returnCase(4) { r.returnObject(p0, __nsTypeIndex(p0, 33)) } @unknown default: r.returnNull() } } // s:9SwiftDemo7PolygonC5StyleO -private func __nsEnum25(_ name: String) -> SwiftDemo.Polygon.Style? { +private func __nsEnum31(_ name: String) -> SwiftDemo.Polygon.Style? { switch name { case "solid": return SwiftDemo.Polygon.Style.`solid` case "dashed": return SwiftDemo.Polygon.Style.`dashed` @@ -512,7 +570,7 @@ private func __nsEnum25(_ name: String) -> SwiftDemo.Polygon.Style? { } } -private func __nsEnumName25(_ value: SwiftDemo.Polygon.Style) -> String { +private func __nsEnumName31(_ value: SwiftDemo.Polygon.Style) -> String { switch value { case SwiftDemo.Polygon.Style.`solid`: return "solid" case SwiftDemo.Polygon.Style.`dashed`: return "dashed" @@ -520,8 +578,139 @@ private func __nsEnumName25(_ value: SwiftDemo.Polygon.Style) -> String { } } +// s:9SwiftDemo12RankedScorerP +private final class __NSAdapter12: SwiftDemo.RankedScorer, @unchecked Sendable { + let object: __NSJSObject + init(_ object: __NSJSObject) { self.object = object } + func `score`(_ p0: Int) throws -> Int { + let result: Int? = object.call(0, { r in r.returnInt64(Int64(p0)) }, { (s: __NSSlots) -> Int? in Int(truncatingIfNeeded: s.int64(0)) }) + guard let result else { throw __NSJSError(requirement: "Scorer.score(_:)") } + return result + } + var `rank`: Int? { + get { + let result: Int?? = object.call(2, { r in }, { (s: __NSSlots) -> Int?? in if s.isNull(0) { return .some(nil) }; return .some(Int(truncatingIfNeeded: s.int64(0))) }) + guard let result else { return nil } + return result + } + } +} + +private func __nsProtocol12(_ slots: __NSSlots, _ i: Int) -> (any SwiftDemo.RankedScorer)? { + if slots.tag(i) == 12 { + return __NSAdapter12(__NSJSObject(api: slots.api, handle: slots.callback(i))) + } + let object = slots.object(i) + if let box = object as? __NSAnyBox { return box.anyValue as? any SwiftDemo.RankedScorer } + return object as? any SwiftDemo.RankedScorer +} + +private func __nsReportProtocol12(_ r: R, _ value: any SwiftDemo.RankedScorer) { + if let adapter = value as? __NSAdapter12 { return r.returnJSObject(adapter.object) } + r.returnObject(__NSBox(value), 12) +} + +// s:9SwiftDemo6ScorerP +private final class __NSAdapter23: SwiftDemo.Scorer, @unchecked Sendable { + let object: __NSJSObject + init(_ object: __NSJSObject) { self.object = object } + func `score`(_ p0: Int) throws -> Int { + let result: Int? = object.call(0, { r in r.returnInt64(Int64(p0)) }, { (s: __NSSlots) -> Int? in Int(truncatingIfNeeded: s.int64(0)) }) + guard let result else { throw __NSJSError(requirement: "Scorer.score(_:)") } + return result + } +} + +private func __nsProtocol23(_ slots: __NSSlots, _ i: Int) -> (any SwiftDemo.Scorer)? { + if slots.tag(i) == 12 { + return __NSAdapter23(__NSJSObject(api: slots.api, handle: slots.callback(i))) + } + let object = slots.object(i) + if let box = object as? __NSAnyBox { return box.anyValue as? any SwiftDemo.Scorer } + return object as? any SwiftDemo.Scorer +} + +private func __nsReportProtocol23(_ r: R, _ value: any SwiftDemo.Scorer) { + if let adapter = value as? __NSAdapter23 { return r.returnJSObject(adapter.object) } + if let v = value as? SwiftDemo.DoublingScorer { return r.returnObject(__NSBox(v), 14) } + r.returnObject(__NSBox(value), 23) +} + +// s:9SwiftDemo7GreeterP +private final class __NSAdapter27: SwiftDemo.Greeter, @unchecked Sendable { + let object: __NSJSObject + init(_ object: __NSJSObject) { self.object = object } + func `greet`(`name` p0: String) -> String { + let result: String? = object.call(0, { r in r.returnString(p0) }, { (s: __NSSlots) -> String? in s.string(0) }) + guard let result else { return "" } + return result + } +} + +private func __nsProtocol27(_ slots: __NSSlots, _ i: Int) -> (any SwiftDemo.Greeter)? { + if slots.tag(i) == 12 { + return __NSAdapter27(__NSJSObject(api: slots.api, handle: slots.callback(i))) + } + let object = slots.object(i) + if let box = object as? __NSAnyBox { return box.anyValue as? any SwiftDemo.Greeter } + return object as? any SwiftDemo.Greeter +} + +private func __nsReportProtocol27(_ r: R, _ value: any SwiftDemo.Greeter) { + if let adapter = value as? __NSAdapter27 { return r.returnJSObject(adapter.object) } + if let v = value as? SwiftDemo.Square { return r.returnObject(v, __nsTypeIndex(v, 24)) } + if let v = value as? SwiftDemo.Demo { return r.returnObject(v, __nsTypeIndex(v, 8)) } + r.returnObject(__NSBox(value), 27) +} + +// s:9SwiftDemo8GreetingP +private final class __NSAdapter34: SwiftDemo.Greeting, @unchecked Sendable { + let object: __NSJSObject + init(_ object: __NSJSObject) { self.object = object } + var `punctuation`: String { + get { + let result: String? = object.call(0, { r in }, { (s: __NSSlots) -> String? in s.string(0) }) + guard let result else { return "" } + return result + } + set { _ = object.call(1, { r in r.returnString(newValue) }, { (_: __NSSlots) -> Void? in () }) } + } + var `name`: String { + get { + let result: String? = object.call(2, { r in }, { (s: __NSSlots) -> String? in s.string(0) }) + guard let result else { return "" } + return result + } + } + func `greet`(_ p0: String) -> String { + let result: String? = object.call(4, { r in r.returnString(p0) }, { (s: __NSSlots) -> String? in s.string(0) }) + guard let result else { return "" } + return result + } + func `reset`() -> Void { + let result: Void? = object.call(6, { r in }, { (_: __NSSlots) -> Void? in () }) + guard let result else { return () } + return result + } +} + +private func __nsProtocol34(_ slots: __NSSlots, _ i: Int) -> (any SwiftDemo.Greeting)? { + if slots.tag(i) == 12 { + return __NSAdapter34(__NSJSObject(api: slots.api, handle: slots.callback(i))) + } + let object = slots.object(i) + if let box = object as? __NSAnyBox { return box.anyValue as? any SwiftDemo.Greeting } + return object as? any SwiftDemo.Greeting +} + +private func __nsReportProtocol34(_ r: R, _ value: any SwiftDemo.Greeting) { + if let adapter = value as? __NSAdapter34 { return r.returnJSObject(adapter.object) } + if let v = value as? SwiftDemo.FormalGreeting { return r.returnObject(v, __nsTypeIndex(v, 15)) } + r.returnObject(__NSBox(value), 34) +} + private func __nsTypeIndex(_ object: AnyObject, _ declared: UInt32) -> UInt32 { - if object is SwiftDemo.Square { return 19 } + if object is SwiftDemo.Square { return 24 } return declared } @@ -849,7 +1038,7 @@ private func __nsThunk37(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint private func __nsThunk38(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: [SwiftDemo.Flavor] = SwiftDemo.`allFlavors`() - rt.returnArray(result) { element in rt.returnString(__nsEnumName17(element)) } + rt.returnArray(result) { element in rt.returnString(__nsEnumName21(element)) } } // s:9SwiftDemo10echoUInt64ys0D0VADF @@ -876,8 +1065,15 @@ private func __nsThunk41(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint rt.returnInt64(Int64(result)) } -// s:9SwiftDemo10namesLaterySaySSGSiYaF +// s:9SwiftDemo10makeScorerAA0D0_pyF private func __nsThunk42(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + let result: any SwiftDemo.Scorer = SwiftDemo.`makeScorer`() + __nsReportProtocol23(rt, result) +} + +// s:9SwiftDemo10namesLaterySaySSGSiYaF +private func __nsThunk43(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let completion = rt.beginAsync() @@ -890,7 +1086,7 @@ private func __nsThunk42(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo10wordCountsySDySSSiGSaySSGF -private func __nsThunk43(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk44(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> String? in s.string(j) }) else { return rt.throwTypeError("argument 1 must be an array of String") } let result: [String: Int] = SwiftDemo.`wordCounts`(a0) @@ -898,7 +1094,7 @@ private func __nsThunk43(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc -private func __nsThunk44(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk45(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Measurement.Unit = SwiftDemo.Measurement.Unit(symbol: a0) @@ -906,7 +1102,7 @@ private func __nsThunk44(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp -private func __nsThunk45(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk46(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Measurement.Unit") } let result: String = box.value.`symbol` @@ -914,7 +1110,7 @@ private func __nsThunk45(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp (setter) -private func __nsThunk46(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk47(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Measurement.Unit") } let newValue = rt.slots.string(1) @@ -923,7 +1119,7 @@ private func __nsThunk46(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo11MeasurementO6isNoneSbvp -private func __nsThunk47(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk48(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = __nsReadCase10(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Measurement") } let result: Bool = receiver.`isNone` @@ -931,7 +1127,7 @@ private func __nsThunk47(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo11checkedSideyS2dKF -private func __nsThunk48(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk49(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) do { @@ -943,7 +1139,7 @@ private func __nsThunk48(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo11delayedEcho_5afterS2S_SdtYaKF -private func __nsThunk49(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk50(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let a1 = rt.slots.double(1) @@ -960,8 +1156,20 @@ private func __nsThunk49(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } } +// s:9SwiftDemo12RankedScorerP4rankSiSgvp +private func __nsThunk51(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = __nsProtocol12(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.RankedScorer") } + let result: Int? = receiver.`rank` + if let result { + rt.returnInt64(Int64(result)) + } else { + rt.returnNull() + } +} + // s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF -private func __nsThunk50(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk52(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = rt.slots.object(0) as? UIView else { return rt.throwTypeError("argument 1 must be a UIView") } let result: UIView? = SwiftDemo.`firstSubview`(of: a0) @@ -972,8 +1180,16 @@ private func __nsThunk50(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } } +// s:9SwiftDemo12makeGreetingyAA0D0_pSSF +private func __nsThunk53(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + let a0 = rt.slots.string(0) + let result: any SwiftDemo.Greeting = SwiftDemo.`makeGreeting`(a0) + __nsReportProtocol34(rt, result) +} + // s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF -private func __nsThunk51(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk54(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let completion = rt.beginAsync() @@ -986,53 +1202,53 @@ private func __nsThunk51(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo12measurementsSayAA11MeasurementOGyF -private func __nsThunk52(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk55(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: [SwiftDemo.Measurement] = SwiftDemo.`measurements`() rt.returnArray(result) { element in __nsReportCase10(rt, element) } } // s:9SwiftDemo12swapTrackersyyAA7TrackerCz_ADztF -private func __nsThunk53(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk56(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let v0 = rt.slots.object(0) as? SwiftDemo.Tracker else { return rt.throwTypeError("argument 1 must be SwiftDemo.Tracker") } var a0 = v0 guard let v1 = rt.slots.object(1) as? SwiftDemo.Tracker else { return rt.throwTypeError("argument 2 must be SwiftDemo.Tracker") } var a1 = v1 let _: Void = SwiftDemo.`swapTrackers`(&a0, &a1) - rt.writeBack(0) { rt.returnObject(a0, __nsTypeIndex(a0, 27)) } - rt.writeBack(1) { rt.returnObject(a1, __nsTypeIndex(a1, 27)) } + rt.writeBack(0) { rt.returnObject(a0, __nsTypeIndex(a0, 33)) } + rt.writeBack(1) { rt.returnObject(a1, __nsTypeIndex(a1, 33)) } rt.returnVoid() } // s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc -private func __nsThunk54(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk57(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Precipitation? = SwiftDemo.Precipitation(rawValue: a0) if let result { - rt.returnString(__nsEnumName12(result)) + rt.returnString(__nsEnumName13(result)) } else { rt.returnNull() } } // s:9SwiftDemo13defaultFlavorAA0D0Ovp -private func __nsThunk55(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk58(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Flavor = SwiftDemo.`defaultFlavor` - rt.returnString(__nsEnumName17(result)) + rt.returnString(__nsEnumName21(result)) } // s:9SwiftDemo13globalCounterSivp -private func __nsThunk56(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk59(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: Int = SwiftDemo.`globalCounter` rt.returnInt64(Int64(result)) } // s:9SwiftDemo13globalCounterSivp (setter) -private func __nsThunk57(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk60(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let newValue = Int(truncatingIfNeeded: rt.slots.int64(0)) SwiftDemo.`globalCounter` = newValue @@ -1040,22 +1256,133 @@ private func __nsThunk57(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF -private func __nsThunk58(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk61(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemoKit.Wallet = SwiftDemo.`starterWallet`(for: a0) rt.returnObject(result, __nsTypeIndex(result, 6)) } +// s:9SwiftDemo14DoublingScorerV5scoreyS2iF +private func __nsThunk62(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.DoublingScorer") } + let a0 = Int(truncatingIfNeeded: rt.slots.int64(1)) + let result: Int = box.value.`score`(a0) + rt.returnInt64(Int64(result)) +} + +// s:9SwiftDemo14DoublingScorerVACycfc +private func __nsThunk63(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + let result: SwiftDemo.DoublingScorer = SwiftDemo.DoublingScorer() + rt.returnObject(__NSBox(result), 14) +} + +// s:9SwiftDemo14FormalGreetingC11punctuationSSvp +private func __nsThunk64(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemo.FormalGreeting else { return rt.throwTypeError("receiver must be SwiftDemo.FormalGreeting") } + let result: String = receiver.`punctuation` + rt.returnString(result) +} + +// s:9SwiftDemo14FormalGreetingC11punctuationSSvp (setter) +private func __nsThunk65(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemo.FormalGreeting else { return rt.throwTypeError("receiver must be SwiftDemo.FormalGreeting") } + let newValue = rt.slots.string(1) + receiver.`punctuation` = newValue + rt.returnVoid() +} + +// s:9SwiftDemo14FormalGreetingC4nameACSS_tcfc +private func __nsThunk66(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + let a0 = rt.slots.string(0) + let result: SwiftDemo.FormalGreeting = SwiftDemo.FormalGreeting(name: a0) + rt.returnObject(result, __nsTypeIndex(result, 15)) +} + +// s:9SwiftDemo14FormalGreetingC4nameSSvp +private func __nsThunk67(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemo.FormalGreeting else { return rt.throwTypeError("receiver must be SwiftDemo.FormalGreeting") } + let result: String = receiver.`name` + rt.returnString(result) +} + +// s:9SwiftDemo14FormalGreetingC5greetyS2SF +private func __nsThunk68(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemo.FormalGreeting else { return rt.throwTypeError("receiver must be SwiftDemo.FormalGreeting") } + let a0 = rt.slots.string(1) + let result: String = receiver.`greet`(a0) + rt.returnString(result) +} + +// s:9SwiftDemo14FormalGreetingC5resetyyF +private func __nsThunk69(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemo.FormalGreeting else { return rt.throwTypeError("receiver must be SwiftDemo.FormalGreeting") } + let _: Void = receiver.`reset`() + rt.returnVoid() +} + +// s:9SwiftDemo14GreetingHolderC5greetySSSgSSF +private func __nsThunk70(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemo.GreetingHolder else { return rt.throwTypeError("receiver must be SwiftDemo.GreetingHolder") } + let a0 = rt.slots.string(1) + let result: String? = receiver.`greet`(a0) + if let result { + rt.returnString(result) + } else { + rt.returnNull() + } +} + +// s:9SwiftDemo14GreetingHolderC8greetingAA0C0_pSgvp +private func __nsThunk71(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemo.GreetingHolder else { return rt.throwTypeError("receiver must be SwiftDemo.GreetingHolder") } + let result: (any SwiftDemo.Greeting)? = receiver.`greeting` + if let result { + __nsReportProtocol34(rt, result) + } else { + rt.returnNull() + } +} + +// s:9SwiftDemo14GreetingHolderC8greetingAA0C0_pSgvp (setter) +private func __nsThunk72(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemo.GreetingHolder else { return rt.throwTypeError("receiver must be SwiftDemo.GreetingHolder") } + var newValue: SwiftDemo.Greeting? = nil + if !rt.slots.isNull(1) { + guard let value = __nsProtocol34(rt.slots, 1) else { return rt.throwTypeError("value must be a SwiftDemo.Greeting (a Swift value or JS implementation)") } + newValue = value + } + receiver.`greeting` = newValue + rt.returnVoid() +} + +// s:9SwiftDemo14GreetingHolderCACycfc +private func __nsThunk73(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + let result: SwiftDemo.GreetingHolder = SwiftDemo.GreetingHolder() + rt.returnObject(result, __nsTypeIndex(result, 16)) +} + // s:9SwiftDemo16makeDefaultPointAA0E0VyF -private func __nsThunk59(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk74(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Point = SwiftDemo.`makeDefaultPoint`() - rt.returnObject(__NSBox(result), 15) + rt.returnObject(__NSBox(result), 19) } // s:9SwiftDemo16makeTrackerLater2idAA0D0CSi_tYaF -private func __nsThunk60(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk75(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let completion = rt.beginAsync() @@ -1063,20 +1390,33 @@ private func __nsThunk60(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint Task { let a0 = captured.value let result: SwiftDemo.Tracker = await SwiftDemo.`makeTrackerLater`(id: a0) - completion.returnObject(result, __nsTypeIndex(result, 27)) + completion.returnObject(result, __nsTypeIndex(result, 33)) + } +} + +// s:9SwiftDemo17greetInBackgroundySSAA8Greeting_pYaF +private func __nsThunk76(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let a0 = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Greeting (a Swift value or JS implementation)") } + let completion = rt.beginAsync() + let captured = __NSUnchecked(a0) + Task { + let a0 = captured.value + let result: String = await SwiftDemo.`greetInBackground`(a0) + completion.returnString(result) } } // s:9SwiftDemo3JobO6TicketV2idAESi_tcfc -private func __nsThunk61(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk77(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: SwiftDemo.Job.Ticket = SwiftDemo.Job.Ticket(id: a0) - rt.returnObject(__NSBox(result), 13) + rt.returnObject(__NSBox(result), 17) } // s:9SwiftDemo3JobO6TicketV2idSivp -private func __nsThunk62(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk78(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Job.Ticket") } let result: Int = box.value.`id` @@ -1084,7 +1424,7 @@ private func __nsThunk62(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo3JobO6TicketV2idSivp (setter) -private func __nsThunk63(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk79(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Job.Ticket") } let newValue = Int(truncatingIfNeeded: rt.slots.int64(1)) @@ -1093,7 +1433,7 @@ private func __nsThunk63(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF -private func __nsThunk64(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk80(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> SwiftDemoKit.Money? in (s.object(j) as? __NSBox)?.value }) else { return rt.throwTypeError("argument 1 must be an array of SwiftDemoKit.Money") } let result: SwiftDemoKit.Money = SwiftDemo.`sum`(of: a0) @@ -1101,24 +1441,24 @@ private func __nsThunk64(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc -private func __nsThunk65(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk81(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = (rt.slots.object(0) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemo.Point") } guard let a1 = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("argument 2 must be SwiftDemo.Point") } let result: SwiftDemo.Ring = SwiftDemo.Ring(inner: a0, outer: a1) - rt.returnObject(__NSBox(result), 14) + rt.returnObject(__NSBox(result), 18) } // s:9SwiftDemo4RingV5innerAA5PointVvp -private func __nsThunk66(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk82(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } let result: SwiftDemo.Point = box.value.`inner` - rt.returnObject(__NSBox(result), 15) + rt.returnObject(__NSBox(result), 19) } // s:9SwiftDemo4RingV5innerAA5PointVvp (setter) -private func __nsThunk67(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk83(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } guard let newValue = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("value must be SwiftDemo.Point") } @@ -1127,15 +1467,15 @@ private func __nsThunk67(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4RingV5outerAA5PointVvp -private func __nsThunk68(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk84(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } let result: SwiftDemo.Point = box.value.`outer` - rt.returnObject(__NSBox(result), 15) + rt.returnObject(__NSBox(result), 19) } // s:9SwiftDemo4RingV5outerAA5PointVvp (setter) -private func __nsThunk69(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk85(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } guard let newValue = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("value must be SwiftDemo.Point") } @@ -1144,7 +1484,7 @@ private func __nsThunk69(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4RingV6expand2byySd_tF -private func __nsThunk70(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk86(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } let a0 = rt.slots.double(1) @@ -1153,7 +1493,7 @@ private func __nsThunk70(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4area2ofSdAA11MeasurementO_tF -private func __nsThunk71(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk87(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadCase10(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Measurement") } let result: Double = SwiftDemo.`area`(of: a0) @@ -1161,7 +1501,7 @@ private func __nsThunk71(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4bumpyySizF -private func __nsThunk72(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk88(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let v0 = Int(truncatingIfNeeded: rt.slots.int64(0)) var a0 = v0 @@ -1171,15 +1511,15 @@ private func __nsThunk72(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4echoyAA7PayloadOADF -private func __nsThunk73(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk89(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsReadCase23(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Payload") } + guard let a0 = __nsReadCase29(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Payload") } let result: SwiftDemo.Payload = SwiftDemo.`echo`(a0) - __nsReportCase23(rt, result) + __nsReportCase29(rt, result) } // s:9SwiftDemo4flipy0aB3Kit4CoinOAEF -private func __nsThunk74(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk90(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsEnum2(rt.slots.string(0)) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemoKit.Coin") } let result: SwiftDemoKit.Coin = SwiftDemo.`flip`(a0) @@ -1187,7 +1527,7 @@ private func __nsThunk74(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF -private func __nsThunk75(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk91(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = URL(string: rt.slots.string(0)) else { return rt.throwTypeError("argument 1 must be a valid URL") } let result: String? = SwiftDemo.`host`(of: a0) @@ -1199,15 +1539,23 @@ private func __nsThunk75(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4rampy10Foundation4DataVSiF -private func __nsThunk76(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk92(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: Data = SwiftDemo.`ramp`(a0) rt.returnBytes(result) } +// s:9SwiftDemo4sameyAA8Greeting_pAaC_pF +private func __nsThunk93(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let a0 = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Greeting (a Swift value or JS implementation)") } + let result: any SwiftDemo.Greeting = SwiftDemo.`same`(a0) + __nsReportProtocol34(rt, result) +} + // s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF -private func __nsThunk77(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk94(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> UIView? in s.object(j) as? UIView }) else { return rt.throwTypeError("argument 1 must be an array of a UIView") } let result: [Int] = SwiftDemo.`tags`(a0) @@ -1215,7 +1563,7 @@ private func __nsThunk77(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4text2ofSSAA4NoteC_tF -private func __nsThunk78(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk95(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = rt.slots.object(0) as? SwiftDemo.Note else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Note") } let result: String = SwiftDemo.`text`(of: a0) @@ -1223,7 +1571,7 @@ private func __nsThunk78(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV11descriptionSSvp -private func __nsThunk79(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk96(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let result: String = box.value.`description` @@ -1231,16 +1579,16 @@ private func __nsThunk79(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV1x1yACSd_Sdtcfc -private func __nsThunk80(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk97(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let a1 = rt.slots.double(1) let result: SwiftDemo.Point = SwiftDemo.Point(x: a0, y: a1) - rt.returnObject(__NSBox(result), 15) + rt.returnObject(__NSBox(result), 19) } // s:9SwiftDemo5PointV1xSdvp -private func __nsThunk81(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk98(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let result: Double = box.value.`x` @@ -1248,7 +1596,7 @@ private func __nsThunk81(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV1xSdvp (setter) -private func __nsThunk82(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk99(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let newValue = rt.slots.double(1) @@ -1257,7 +1605,7 @@ private func __nsThunk82(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV1ySdvp -private func __nsThunk83(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk100(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let result: Double = box.value.`y` @@ -1265,7 +1613,7 @@ private func __nsThunk83(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV1ySdvp (setter) -private func __nsThunk84(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk101(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let newValue = rt.slots.double(1) @@ -1274,7 +1622,7 @@ private func __nsThunk84(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV6lengthSdvp -private func __nsThunk85(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk102(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let result: Double = box.value.`length` @@ -1282,7 +1630,7 @@ private func __nsThunk85(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5boxedy0aB3Kit3BoxCyAC5MoneyVGAGF -private func __nsThunk86(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk103(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = (rt.slots.object(0) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemoKit.Money") } let result: SwiftDemoKit.Box = SwiftDemo.`boxed`(a0) @@ -1290,7 +1638,7 @@ private func __nsThunk86(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5clearyySSSgzF -private func __nsThunk87(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk104(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let v0 = rt.slots.isNull(0) ? nil : rt.slots.string(0) var a0 = v0 @@ -1300,7 +1648,7 @@ private func __nsThunk87(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5halveyySizKF -private func __nsThunk88(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk105(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let v0 = Int(truncatingIfNeeded: rt.slots.int64(0)) var a0 = v0 @@ -1314,7 +1662,7 @@ private func __nsThunk88(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5namesySaySSGSiF -private func __nsThunk89(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk106(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: [String] = SwiftDemo.`names`(a0) @@ -1322,7 +1670,7 @@ private func __nsThunk89(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5shoutySSSgACF -private func __nsThunk90(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk107(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.isNull(0) ? nil : rt.slots.string(0) let result: String? = SwiftDemo.`shout`(a0) @@ -1334,7 +1682,7 @@ private func __nsThunk90(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5totalySdSaySdGF -private func __nsThunk91(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk108(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> Double? in s.double(j) }) else { return rt.throwTypeError("argument 1 must be an array of Double") } let result: Double = SwiftDemo.`total`(a0) @@ -1342,37 +1690,37 @@ private func __nsThunk91(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6CanvasCACycfc -private func __nsThunk92(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk109(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard Thread.isMainThread else { return rt.throwMessage("init() is isolated to the main actor; call it on the main thread") } MainActor.assumeIsolated { let result: SwiftDemo.Canvas = SwiftDemo.Canvas() - rt.returnObject(result, __nsTypeIndex(result, 16)) + rt.returnObject(result, __nsTypeIndex(result, 20)) } } // s:9SwiftDemo6FlavorO11descriptionSSvp -private func __nsThunk93(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk110(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsEnum17(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Flavor") } + guard let receiver = __nsEnum21(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Flavor") } let result: String = receiver.`description` rt.returnString(result) } // s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc -private func __nsThunk94(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk111(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: SwiftDemo.Flavor? = SwiftDemo.Flavor(rawValue: a0) if let result { - rt.returnString(__nsEnumName17(result)) + rt.returnString(__nsEnumName21(result)) } else { rt.returnNull() } } // s:9SwiftDemo6LoaderC10modernOnlyyyF -private func __nsThunk95(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk112(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard #available(iOS 16.0, *) else { return rt.throwMessage("modernOnly() requires iOS 16.0") } guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } @@ -1381,7 +1729,7 @@ private func __nsThunk95(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC11legacyFetchyyF -private func __nsThunk96(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk113(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let _: Void = receiver.`legacyFetch`() @@ -1389,7 +1737,7 @@ private func __nsThunk96(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC4eachyyySiXEF -private func __nsThunk97(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk114(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let a0 = { () -> (Int) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(1)); return { (p0: Int) in callback.invoke { r in r.returnInt64(Int64(p0)) } } }() @@ -1398,7 +1746,7 @@ private func __nsThunk97(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF -private func __nsThunk98(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk115(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let a0 = rt.slots.string(1) @@ -1411,7 +1759,7 @@ private func __nsThunk98(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF -private func __nsThunk99(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk116(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let a0 = rt.slots.double(1) @@ -1425,7 +1773,7 @@ private func __nsThunk99(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF -private func __nsThunk100(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk117(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } guard let a0 = URL(string: rt.slots.string(1)) else { return rt.throwTypeError("argument 1 must be a valid URL") } @@ -1443,7 +1791,7 @@ private func __nsThunk100(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF -private func __nsThunk101(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk118(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } guard let a0 = __nsReadMap(rt.slots, 1, { (s: __NSSlots, j: Int) -> Int? in Int(truncatingIfNeeded: s.int64(j)) }) else { return rt.throwTypeError("argument 1 must be an object whose values are Int") } @@ -1457,18 +1805,18 @@ private func __nsThunk101(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6LoaderC6updateyyAA5PointVzF -private func __nsThunk102(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk119(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } guard let v0 = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemo.Point") } var a0 = v0 let _: Void = receiver.`update`(&a0) - rt.writeBack(0) { rt.returnObject(__NSBox(a0), 15) } + rt.writeBack(0) { rt.returnObject(__NSBox(a0), 19) } rt.returnVoid() } // s:9SwiftDemo6LoaderC8oldFetchyyF -private func __nsThunk103(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk120(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let _: Void = receiver.`oldFetch`() @@ -1476,14 +1824,27 @@ private func __nsThunk103(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6LoaderCACycfc -private func __nsThunk104(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk121(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Loader = SwiftDemo.Loader() - rt.returnObject(result, __nsTypeIndex(result, 18)) + rt.returnObject(result, __nsTypeIndex(result, 22)) +} + +// s:9SwiftDemo6ScorerP5scoreyS2iKF +private func __nsThunk122(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = __nsProtocol23(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Scorer") } + let a0 = Int(truncatingIfNeeded: rt.slots.int64(1)) + do { + let result: Int = try receiver.`score`(a0) + rt.returnInt64(Int64(result)) + } catch { + rt.throwError(error) + } } // s:9SwiftDemo6SquareC4areaSdvp -private func __nsThunk105(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk123(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let result: Double = receiver.`area` @@ -1491,15 +1852,15 @@ private func __nsThunk105(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6SquareC4sideACSd_tcfc -private func __nsThunk106(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk124(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let result: SwiftDemo.Square = SwiftDemo.Square(side: a0) - rt.returnObject(result, __nsTypeIndex(result, 19)) + rt.returnObject(result, __nsTypeIndex(result, 24)) } // s:9SwiftDemo6SquareC4sideSdvp -private func __nsThunk107(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk125(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let result: Double = receiver.`side` @@ -1507,7 +1868,7 @@ private func __nsThunk107(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6SquareC4sideSdvp (setter) -private func __nsThunk108(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk126(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let newValue = rt.slots.double(1) @@ -1516,7 +1877,7 @@ private func __nsThunk108(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6SquareC5greet4nameS2S_tF -private func __nsThunk109(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk127(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let a0 = rt.slots.string(1) @@ -1525,7 +1886,7 @@ private func __nsThunk109(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6SquareC5scale2byySd_tF -private func __nsThunk110(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk128(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let a0 = rt.slots.double(1) @@ -1534,14 +1895,14 @@ private func __nsThunk110(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6SquareC5sidesSivpZ -private func __nsThunk111(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk129(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: Int = SwiftDemo.Square.`sides` rt.returnInt64(Int64(result)) } // s:9SwiftDemo6append_2toySS_SaySSGztF -private func __nsThunk112(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk130(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) guard let v1 = __nsReadArray(rt.slots, 1, { (s: __NSSlots, j: Int) -> String? in s.string(j) }) else { return rt.throwTypeError("argument 2 must be an array of String") } @@ -1551,8 +1912,16 @@ private func __nsThunk112(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin rt.returnVoid() } +// s:9SwiftDemo6exciteyyAA8Greeting_pF +private func __nsThunk131(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let a0 = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Greeting (a Swift value or JS implementation)") } + let _: Void = SwiftDemo.`excite`(a0) + rt.returnVoid() +} + // s:9SwiftDemo6settley0aB3Kit7OutcomeOySiGSiF -private func __nsThunk113(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk132(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: SwiftDemoKit.Outcome = SwiftDemo.`settle`(a0) @@ -1560,7 +1929,7 @@ private func __nsThunk113(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7CounterC4stepSivp -private func __nsThunk114(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk133(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Counter else { return rt.throwTypeError("receiver must be SwiftDemo.Counter") } let completion = rt.beginAsync() @@ -1573,7 +1942,7 @@ private func __nsThunk114(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7CounterC5labelSSyF -private func __nsThunk115(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk134(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Counter else { return rt.throwTypeError("receiver must be SwiftDemo.Counter") } let result: String = receiver.`label`() @@ -1581,7 +1950,7 @@ private func __nsThunk115(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7CounterC5valueSivp -private func __nsThunk116(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk135(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Counter else { return rt.throwTypeError("receiver must be SwiftDemo.Counter") } let completion = rt.beginAsync() @@ -1594,7 +1963,7 @@ private func __nsThunk116(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7CounterC9incrementSiyF -private func __nsThunk117(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk136(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Counter else { return rt.throwTypeError("receiver must be SwiftDemo.Counter") } let completion = rt.beginAsync() @@ -1607,22 +1976,31 @@ private func __nsThunk117(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7CounterCACycfc -private func __nsThunk118(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk137(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Counter = SwiftDemo.Counter() - rt.returnObject(result, __nsTypeIndex(result, 20)) + rt.returnObject(result, __nsTypeIndex(result, 25)) } // s:9SwiftDemo7FormulaO5valueSdvp -private func __nsThunk119(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk138(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsReadCase21(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Formula") } + guard let receiver = __nsReadCase26(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Formula") } let result: Double = receiver.`value` rt.returnDouble(Double(result)) } +// s:9SwiftDemo7GreeterP5greet4nameS2S_tF +private func __nsThunk139(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = __nsProtocol27(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeter") } + let a0 = rt.slots.string(1) + let result: String = receiver.`greet`(name: a0) + rt.returnString(result) +} + // s:9SwiftDemo7PaletteC11strokeLaterSiyYaF -private func __nsThunk120(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk140(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Palette else { return rt.throwTypeError("receiver must be SwiftDemo.Palette") } let completion = rt.beginAsync() @@ -1635,7 +2013,7 @@ private func __nsThunk120(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PaletteC6strokeSiyF -private func __nsThunk121(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk141(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Palette else { return rt.throwTypeError("receiver must be SwiftDemo.Palette") } guard Thread.isMainThread else { return rt.throwMessage("stroke() is isolated to the main actor; call it on the main thread") } @@ -1646,7 +2024,7 @@ private func __nsThunk121(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PaletteC7strokesSivp -private func __nsThunk122(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk142(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Palette else { return rt.throwTypeError("receiver must be SwiftDemo.Palette") } guard Thread.isMainThread else { return rt.throwMessage("strokes is isolated to the main actor; call it on the main thread") } @@ -1657,17 +2035,17 @@ private func __nsThunk122(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PaletteCACycfc -private func __nsThunk123(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk143(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard Thread.isMainThread else { return rt.throwMessage("init() is isolated to the main actor; call it on the main thread") } MainActor.assumeIsolated { let result: SwiftDemo.Palette = SwiftDemo.Palette() - rt.returnObject(result, __nsTypeIndex(result, 22)) + rt.returnObject(result, __nsTypeIndex(result, 28)) } } // s:9SwiftDemo7PolygonC11vertexCountSivp -private func __nsThunk124(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk144(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let result: Int = receiver.`vertexCount` @@ -1675,35 +2053,35 @@ private func __nsThunk124(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC4makeACyFZ -private func __nsThunk125(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk145(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Polygon = SwiftDemo.Polygon.`make`() - rt.returnObject(result, __nsTypeIndex(result, 24)) + rt.returnObject(result, __nsTypeIndex(result, 30)) } // s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc -private func __nsThunk126(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk146(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let a1 = Int(truncatingIfNeeded: rt.slots.int64(1)) let result: SwiftDemo.Polygon = SwiftDemo.Polygon(name: a0, vertexCount: a1) - rt.returnObject(result, __nsTypeIndex(result, 24)) + rt.returnObject(result, __nsTypeIndex(result, 30)) } // s:9SwiftDemo7PolygonC4nameACSgSS_tcfc -private func __nsThunk127(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk147(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Polygon? = SwiftDemo.Polygon(name: a0) if let result { - rt.returnObject(result, __nsTypeIndex(result, 24)) + rt.returnObject(result, __nsTypeIndex(result, 30)) } else { rt.returnNull() } } // s:9SwiftDemo7PolygonC4nameSSvp -private func __nsThunk128(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk148(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let result: String = receiver.`name` @@ -1711,19 +2089,19 @@ private func __nsThunk128(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc -private func __nsThunk129(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk149(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Polygon.Style? = SwiftDemo.Polygon.Style(rawValue: a0) if let result { - rt.returnString(__nsEnumName25(result)) + rt.returnString(__nsEnumName31(result)) } else { rt.returnNull() } } // s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF -private func __nsThunk130(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk150(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let a0 = rt.slots.double(1) @@ -1733,7 +2111,7 @@ private func __nsThunk130(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC5scale2byySd_tF -private func __nsThunk131(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk151(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let a0 = rt.slots.double(1) @@ -1742,7 +2120,7 @@ private func __nsThunk131(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC5scale2byySi_tF -private func __nsThunk132(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk152(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let a0 = Int(truncatingIfNeeded: rt.slots.int64(1)) @@ -1751,30 +2129,30 @@ private func __nsThunk132(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC5styleAC5StyleOvp -private func __nsThunk133(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk153(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let result: SwiftDemo.Polygon.Style = receiver.`style` - rt.returnString(__nsEnumName25(result)) + rt.returnString(__nsEnumName31(result)) } // s:9SwiftDemo7PolygonC6sharedACvpZ -private func __nsThunk134(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk154(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Polygon = SwiftDemo.Polygon.`shared` - rt.returnObject(result, __nsTypeIndex(result, 24)) + rt.returnObject(result, __nsTypeIndex(result, 30)) } // s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc -private func __nsThunk135(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk155(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let result: SwiftDemo.Polygon.Metrics = SwiftDemo.Polygon.Metrics(perimeter: a0) - rt.returnObject(__NSBox(result), 26) + rt.returnObject(__NSBox(result), 32) } // s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp -private func __nsThunk136(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk156(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon.Metrics") } let result: Double = box.value.`perimeter` @@ -1782,7 +2160,7 @@ private func __nsThunk136(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp (setter) -private func __nsThunk137(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk157(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon.Metrics") } let newValue = rt.slots.double(1) @@ -1791,16 +2169,16 @@ private func __nsThunk137(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF -private func __nsThunk138(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk158(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let a0 = rt.slots.double(1) let result: SwiftDemo.Polygon.Metrics = receiver.`metrics`(side: a0) - rt.returnObject(__NSBox(result), 26) + rt.returnObject(__NSBox(result), 32) } // s:9SwiftDemo7PolygonC8describeySSACSgFZ -private func __nsThunk139(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk159(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) var a0: SwiftDemo.Polygon? = nil if !rt.slots.isNull(0) { @@ -1812,15 +2190,15 @@ private func __nsThunk139(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7TrackerC2idACSi_tcfc -private func __nsThunk140(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk160(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: SwiftDemo.Tracker = SwiftDemo.Tracker(id: a0) - rt.returnObject(result, __nsTypeIndex(result, 27)) + rt.returnObject(result, __nsTypeIndex(result, 33)) } // s:9SwiftDemo7TrackerC2idSivp -private func __nsThunk141(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk161(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Tracker else { return rt.throwTypeError("receiver must be SwiftDemo.Tracker") } let result: Int = receiver.`id` @@ -1828,22 +2206,22 @@ private func __nsThunk141(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7TrackerC4sameACyF -private func __nsThunk142(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk162(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Tracker else { return rt.throwTypeError("receiver must be SwiftDemo.Tracker") } let result: SwiftDemo.Tracker = receiver.`same`() - rt.returnObject(result, __nsTypeIndex(result, 27)) + rt.returnObject(result, __nsTypeIndex(result, 33)) } // s:9SwiftDemo7TrackerC9liveCountSivpZ -private func __nsThunk143(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk163(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: Int = SwiftDemo.Tracker.`liveCount` rt.returnInt64(Int64(result)) } // s:9SwiftDemo7explainySSAA10ShapeErrorOF -private func __nsThunk144(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk164(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadCase9(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.ShapeError") } let result: String = SwiftDemo.`explain`(a0) @@ -1851,7 +2229,7 @@ private func __nsThunk144(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7lengthsySDySSSiGSDyS2SGF -private func __nsThunk145(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk165(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadMap(rt.slots, 0, { (s: __NSSlots, j: Int) -> String? in s.string(j) }) else { return rt.throwTypeError("argument 1 must be an object whose values are String") } let result: [String: Int] = SwiftDemo.`lengths`(a0) @@ -1859,7 +2237,7 @@ private func __nsThunk145(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7measure_2byAA11MeasurementOSd_SdSgtF -private func __nsThunk146(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk166(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let a1 = rt.slots.isNull(1) ? nil : rt.slots.double(1) @@ -1868,7 +2246,7 @@ private func __nsThunk146(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7nextDay5after10Foundation4DateVAF_tF -private func __nsThunk147(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk167(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Date(timeIntervalSince1970: rt.slots.double(0) / 1000) let result: Date = SwiftDemo.`nextDay`(after: a0) @@ -1876,7 +2254,7 @@ private func __nsThunk147(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7resolve_7against10Foundation3URLVSS_AFtF -private func __nsThunk148(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk168(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) guard let a1 = URL(string: rt.slots.string(1)) else { return rt.throwTypeError("argument 2 must be a valid URL") } @@ -1884,8 +2262,80 @@ private func __nsThunk148(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin rt.returnString(result.absoluteString) } +// s:9SwiftDemo7topRankySSAA12RankedScorer_pKF +private func __nsThunk169(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let a0 = __nsProtocol12(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.RankedScorer (a Swift value or JS implementation)") } + do { + let result: String = try SwiftDemo.`topRank`(a0) + rt.returnString(result) + } catch { + rt.throwError(error) + } +} + +// s:9SwiftDemo8GreetingP11punctuationSSvp +private func __nsThunk170(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } + let result: String = receiver.`punctuation` + rt.returnString(result) +} + +// s:9SwiftDemo8GreetingP11punctuationSSvp (setter) +private func __nsThunk171(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } + let newValue = rt.slots.string(1) + receiver.`punctuation` = newValue + rt.returnVoid() +} + +// s:9SwiftDemo8GreetingP4nameSSvp +private func __nsThunk172(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } + let result: String = receiver.`name` + rt.returnString(result) +} + +// s:9SwiftDemo8GreetingP5greetyS2SF +private func __nsThunk173(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } + let a0 = rt.slots.string(1) + let result: String = receiver.`greet`(a0) + rt.returnString(result) +} + +// s:9SwiftDemo8GreetingP5resetyyF +private func __nsThunk174(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } + let _: Void = receiver.`reset`() + rt.returnVoid() +} + +// s:9SwiftDemo8GreetingPAAE5shoutyS2SF +private func __nsThunk175(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } + let a0 = rt.slots.string(1) + let result: String = receiver.`shout`(a0) + rt.returnString(result) +} + +// s:9SwiftDemo8GreetingPAAE5shoutyS2SF::SYNTHESIZED::s:9SwiftDemo14FormalGreetingC +private func __nsThunk176(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let receiver = rt.object(0) as? SwiftDemo.FormalGreeting else { return rt.throwTypeError("receiver must be SwiftDemo.FormalGreeting") } + let a0 = rt.slots.string(1) + let result: String = receiver.`shout`(a0) + rt.returnString(result) +} + // s:9SwiftDemo8NotifierC12publishLateryySSF -private func __nsThunk149(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk177(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let a0 = rt.slots.string(1) @@ -1894,7 +2344,7 @@ private func __nsThunk149(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC5clearyyF -private func __nsThunk150(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk178(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let _: Void = receiver.`clear`() @@ -1902,7 +2352,7 @@ private func __nsThunk150(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC5countSivp -private func __nsThunk151(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk179(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let result: Int = receiver.`count` @@ -1910,7 +2360,7 @@ private func __nsThunk151(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC7publishyySSF -private func __nsThunk152(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk180(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let a0 = rt.slots.string(1) @@ -1919,7 +2369,7 @@ private func __nsThunk152(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC9subscribeyyySSYbcF -private func __nsThunk153(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk181(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let a0 = { () -> @Sendable (String) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(1)); return { (p0: String) in callback.invoke { r in r.returnString(p0) } } }() @@ -1928,22 +2378,22 @@ private func __nsThunk153(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierCACycfc -private func __nsThunk154(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk182(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Notifier = SwiftDemo.Notifier() - rt.returnObject(result, __nsTypeIndex(result, 28)) + rt.returnObject(result, __nsTypeIndex(result, 35)) } // s:9SwiftDemo8centroid2ofAA5PointVSayAEG_tF -private func __nsThunk155(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk183(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> SwiftDemo.Point? in (s.object(j) as? __NSBox)?.value }) else { return rt.throwTypeError("argument 1 must be an array of SwiftDemo.Point") } let result: SwiftDemo.Point = SwiftDemo.`centroid`(of: a0) - rt.returnObject(__NSBox(result), 15) + rt.returnObject(__NSBox(result), 19) } // s:9SwiftDemo8checksumySi10Foundation4DataVF -private func __nsThunk156(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk184(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.bytes(0) let result: Int = SwiftDemo.`checksum`(a0) @@ -1951,7 +2401,7 @@ private func __nsThunk156(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8countBoxy0aB3Kit0D0CySiGSiF -private func __nsThunk157(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk185(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: SwiftDemoKit.Box = SwiftDemo.`countBox`(a0) @@ -1959,7 +2409,7 @@ private func __nsThunk157(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8describeySS0aB3Kit4PairVySiSSGF -private func __nsThunk158(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk186(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = (rt.slots.object(0) as? __NSBox>)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemoKit.Pair") } let result: String = SwiftDemo.`describe`(a0) @@ -1967,7 +2417,7 @@ private func __nsThunk158(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8describeySSSo6UIViewCF -private func __nsThunk159(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk187(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = rt.slots.object(0) as? UIView else { return rt.throwTypeError("argument 1 must be a UIView") } let result: String = SwiftDemo.`describe`(a0) @@ -1975,7 +2425,7 @@ private func __nsThunk159(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8echoInt8ys0D0VADF -private func __nsThunk160(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk188(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int8(truncatingIfNeeded: rt.slots.int64(0)) let result: Int8 = SwiftDemo.`echoInt8`(a0) @@ -1983,7 +2433,7 @@ private func __nsThunk160(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8makeNoteyAA0D0CSSF -private func __nsThunk161(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk189(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Note = SwiftDemo.`makeNote`(a0) @@ -1991,31 +2441,44 @@ private func __nsThunk161(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8mirroredySaySaySiGGADF -private func __nsThunk162(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk190(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> [Int]? in __nsReadArray(s, j, { (s: __NSSlots, j: Int) -> Int? in Int(truncatingIfNeeded: s.int64(j)) }) }) else { return rt.throwTypeError("argument 1 must be an array of an array of Int") } let result: [[Int]] = SwiftDemo.`mirrored`(a0) rt.returnArray(result) { element in rt.returnArray(element) { element in rt.returnInt64(Int64(element)) } } } +// s:9SwiftDemo8scoreAllySaySiGAA6Scorer_p_ACtKF +private func __nsThunk191(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let a0 = __nsProtocol23(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Scorer (a Swift value or JS implementation)") } + guard let a1 = __nsReadArray(rt.slots, 1, { (s: __NSSlots, j: Int) -> Int? in Int(truncatingIfNeeded: s.int64(j)) }) else { return rt.throwTypeError("argument 2 must be an array of Int") } + do { + let result: [Int] = try SwiftDemo.`scoreAll`(a0, a1) + rt.returnArray(result) { element in rt.returnInt64(Int64(element)) } + } catch { + rt.throwError(error) + } +} + // s:9SwiftDemo8simplifyyAA7FormulaOADF -private func __nsThunk163(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk192(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsReadCase21(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Formula") } + guard let a0 = __nsReadCase26(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Formula") } let result: SwiftDemo.Formula = SwiftDemo.`simplify`(a0) - __nsReportCase21(rt, result) + __nsReportCase26(rt, result) } // s:9SwiftDemo8trackersySayAA7TrackerCGSaySiGF -private func __nsThunk164(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk193(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> Int? in Int(truncatingIfNeeded: s.int64(j)) }) else { return rt.throwTypeError("argument 1 must be an array of Int") } let result: [SwiftDemo.Tracker] = SwiftDemo.`trackers`(a0) - rt.returnArray(result) { element in rt.returnObject(element, __nsTypeIndex(element, 27)) } + rt.returnArray(result) { element in rt.returnObject(element, __nsTypeIndex(element, 33)) } } // s:9SwiftDemo9countdown4from_ySi_ySi_SbtXEtF -private func __nsThunk165(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk194(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let a1 = { () -> (Int, Bool) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(1)); return { (p0: Int, p1: Bool) in callback.invoke { r in r.returnInt64(Int64(p0)); r.returnBool(p1) } } }() @@ -2023,8 +2486,17 @@ private func __nsThunk165(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin rt.returnVoid() } +// s:9SwiftDemo9introduce_2toSSAA8Greeting_p_SStF +private func __nsThunk195(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard let a0 = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Greeting (a Swift value or JS implementation)") } + let a1 = rt.slots.string(1) + let result: String = SwiftDemo.`introduce`(a0, to: a1) + rt.returnString(result) +} + // s:9SwiftDemo9makeLabelySo7UILabelCSSF -private func __nsThunk166(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk196(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) guard Thread.isMainThread else { return rt.throwMessage("makeLabel(_:) is isolated to the main actor; call it on the main thread") } @@ -2035,7 +2507,7 @@ private func __nsThunk166(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo9makeScorey0aB3Kit4PairVySSSiGSS_SitF -private func __nsThunk167(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk197(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let a1 = Int(truncatingIfNeeded: rt.slots.int64(1)) @@ -2044,7 +2516,7 @@ private func __nsThunk167(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo9noteLateryAA4NoteCSSYaF -private func __nsThunk168(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk198(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let completion = rt.beginAsync() @@ -2057,7 +2529,7 @@ private func __nsThunk168(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo9onMeasureyyyAA11MeasurementOXEF -private func __nsThunk169(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk199(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = { () -> (SwiftDemo.Measurement) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(0)); return { (p0: SwiftDemo.Measurement) in callback.invoke { r in __nsReportCase10(r, p0) } } }() let _: Void = SwiftDemo.`onMeasure`(a0) @@ -2065,31 +2537,31 @@ private func __nsThunk169(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO -private func __nsThunk170(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk200(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsEnum12(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Precipitation") } + guard let receiver = __nsEnum13(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Precipitation") } let result: Int = receiver.`hashValue` rt.returnInt64(Int64(result)) } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO -private func __nsThunk171(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk201(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsEnum17(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Flavor") } + guard let receiver = __nsEnum21(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Flavor") } let result: Int = receiver.`hashValue` rt.returnInt64(Int64(result)) } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO -private func __nsThunk172(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk202(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsEnum25(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon.Style") } + guard let receiver = __nsEnum31(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon.Style") } let result: Int = receiver.`hashValue` rt.returnInt64(Int64(result)) } // s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO -private func __nsThunk173(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk203(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = __nsReadCase9(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.ShapeError") } let result: String = receiver.`localizedDescription` @@ -2103,7 +2575,7 @@ private func __nsRegister(_ registrar: UnsafeMutableRawPointer) { let registerMember = api.load(fromByteOffset: 96, as: (@convention(c) (UnsafeMutableRawPointer, Int32, UInt32, UInt32, UnsafePointer, UnsafePointer, UnsafePointer, UnsafePointer, __NSThunk?, __NSThunk?) -> Void).self) let registerUnitModule = api.load(fromByteOffset: 336, as: (@convention(c) (UnsafeMutableRawPointer, UnsafePointer) -> Void).self) - registerModule(registrar, 8, "SwiftDemo", "429aac49e58cc89d", __nsRelease) + registerModule(registrar, 9, "SwiftDemo", "982ef7366301d08d", __nsRelease) registerUnitModule(registrar, "SwiftDemo") registerUnitModule(registrar, "SwiftDemoKit") registerType(registrar, 0, 0, "SwiftDemoKit", "Box", "SwiftDemoKit.Box", -1) @@ -2118,23 +2590,30 @@ private func __nsRegister(_ registrar: UnsafeMutableRawPointer) { registerType(registrar, 9, 4, "SwiftDemo", "ShapeError", "SwiftDemo.ShapeError", -1) registerType(registrar, 10, 4, "SwiftDemo", "Measurement", "SwiftDemo.Measurement", -1) registerType(registrar, 11, 2, "SwiftDemo", "Measurement.Unit", "SwiftDemo.Measurement.Unit", -1) - registerType(registrar, 12, 3, "SwiftDemo", "Precipitation", "SwiftDemo.Precipitation", -1) - registerType(registrar, 13, 2, "SwiftDemo", "Job.Ticket", "SwiftDemo.Job.Ticket", -1) - registerType(registrar, 14, 2, "SwiftDemo", "Ring", "SwiftDemo.Ring", -1) - registerType(registrar, 15, 2, "SwiftDemo", "Point", "SwiftDemo.Point", -1) - registerType(registrar, 16, 0, "SwiftDemo", "Canvas", "SwiftDemo.Canvas", -1) - registerType(registrar, 17, 3, "SwiftDemo", "Flavor", "SwiftDemo.Flavor", -1) - registerType(registrar, 18, 0, "SwiftDemo", "Loader", "SwiftDemo.Loader", -1) - registerType(registrar, 19, 0, "SwiftDemo", "Square", "SwiftDemo.Square", 24) - registerType(registrar, 20, 1, "SwiftDemo", "Counter", "SwiftDemo.Counter", -1) - registerType(registrar, 21, 4, "SwiftDemo", "Formula", "SwiftDemo.Formula", -1) - registerType(registrar, 22, 0, "SwiftDemo", "Palette", "SwiftDemo.Palette", -1) - registerType(registrar, 23, 4, "SwiftDemo", "Payload", "SwiftDemo.Payload", -1) - registerType(registrar, 24, 0, "SwiftDemo", "Polygon", "SwiftDemo.Polygon", -1) - registerType(registrar, 25, 3, "SwiftDemo", "Polygon.Style", "SwiftDemo.Polygon.Style", -1) - registerType(registrar, 26, 2, "SwiftDemo", "Polygon.Metrics", "SwiftDemo.Polygon.Metrics", -1) - registerType(registrar, 27, 0, "SwiftDemo", "Tracker", "SwiftDemo.Tracker", -1) - registerType(registrar, 28, 0, "SwiftDemo", "Notifier", "SwiftDemo.Notifier", -1) + registerType(registrar, 12, 5, "SwiftDemo", "RankedScorer", "SwiftDemo.RankedScorer", 23) + registerType(registrar, 13, 3, "SwiftDemo", "Precipitation", "SwiftDemo.Precipitation", -1) + registerType(registrar, 14, 2, "SwiftDemo", "DoublingScorer", "SwiftDemo.DoublingScorer", -1) + registerType(registrar, 15, 0, "SwiftDemo", "FormalGreeting", "SwiftDemo.FormalGreeting", -1) + registerType(registrar, 16, 0, "SwiftDemo", "GreetingHolder", "SwiftDemo.GreetingHolder", -1) + registerType(registrar, 17, 2, "SwiftDemo", "Job.Ticket", "SwiftDemo.Job.Ticket", -1) + registerType(registrar, 18, 2, "SwiftDemo", "Ring", "SwiftDemo.Ring", -1) + registerType(registrar, 19, 2, "SwiftDemo", "Point", "SwiftDemo.Point", -1) + registerType(registrar, 20, 0, "SwiftDemo", "Canvas", "SwiftDemo.Canvas", -1) + registerType(registrar, 21, 3, "SwiftDemo", "Flavor", "SwiftDemo.Flavor", -1) + registerType(registrar, 22, 0, "SwiftDemo", "Loader", "SwiftDemo.Loader", -1) + registerType(registrar, 23, 5, "SwiftDemo", "Scorer", "SwiftDemo.Scorer", -1) + registerType(registrar, 24, 0, "SwiftDemo", "Square", "SwiftDemo.Square", 30) + registerType(registrar, 25, 1, "SwiftDemo", "Counter", "SwiftDemo.Counter", -1) + registerType(registrar, 26, 4, "SwiftDemo", "Formula", "SwiftDemo.Formula", -1) + registerType(registrar, 27, 5, "SwiftDemo", "Greeter", "SwiftDemo.Greeter", -1) + registerType(registrar, 28, 0, "SwiftDemo", "Palette", "SwiftDemo.Palette", -1) + registerType(registrar, 29, 4, "SwiftDemo", "Payload", "SwiftDemo.Payload", -1) + registerType(registrar, 30, 0, "SwiftDemo", "Polygon", "SwiftDemo.Polygon", -1) + registerType(registrar, 31, 3, "SwiftDemo", "Polygon.Style", "SwiftDemo.Polygon.Style", -1) + registerType(registrar, 32, 2, "SwiftDemo", "Polygon.Metrics", "SwiftDemo.Polygon.Metrics", -1) + registerType(registrar, 33, 0, "SwiftDemo", "Tracker", "SwiftDemo.Tracker", -1) + registerType(registrar, 34, 5, "SwiftDemo", "Greeting", "SwiftDemo.Greeting", -1) + registerType(registrar, 35, 0, "SwiftDemo", "Notifier", "SwiftDemo.Notifier", -1) registerMember(registrar, 0, 3, 2, "SwiftDemoKit", "value", "value", ">o5", __nsThunk0, __nsThunk1) registerMember(registrar, 1, 3, 2, "SwiftDemoKit", "value", "value", ">i64", __nsThunk2, __nsThunk3) registerMember(registrar, 0, 1, 0, "SwiftDemoKit", "replaced", "replaced(with:)", "o5>o0", __nsThunk4, nil) @@ -2172,151 +2651,178 @@ private func __nsRegister(_ registrar: UnsafeMutableRawPointer) { registerMember(registrar, 9, 7, 0, "SwiftDemo", "invalidSide", "invalidSide(_:)", "f64>t9", nil, nil) registerMember(registrar, 9, 7, 0, "SwiftDemo", "tooManySides", "tooManySides(count:limit:)", "i64,i64>t9", nil, nil) registerMember(registrar, 9, 7, 0, "SwiftDemo", "unknown", "unknown", ">t9", nil, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "allFlavors", "allFlavors()", ">[e17]", __nsThunk38, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "allFlavors", "allFlavors()", ">[e21]", __nsThunk38, nil) registerMember(registrar, -1, 5, 0, "SwiftDemo", "echoUInt64", "echoUInt64(_:)", "u64>u64", __nsThunk39, nil) registerMember(registrar, -1, 5, 0, "SwiftDemo", "greetLater", "greetLater(_:completion:)", "s?,(s?)>v", __nsThunk40, nil) registerMember(registrar, -1, 5, 0, "SwiftDemo", "largestInt", "largestInt()", ">i64", __nsThunk41, nil) - registerMember(registrar, -1, 5, 8, "SwiftDemo", "namesLater", "namesLater(_:)", "i64>[s]", __nsThunk42, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "wordCounts", "wordCounts(_:)", "[s]>{i64}", __nsThunk43, nil) - registerMember(registrar, 11, 0, 0, "SwiftDemo", "constructor", "init(symbol:)", "s>o11", __nsThunk44, nil) - registerMember(registrar, 11, 3, 2, "SwiftDemo", "symbol", "symbol", ">s", __nsThunk45, __nsThunk46) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeScorer", "makeScorer()", ">p23", __nsThunk42, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "namesLater", "namesLater(_:)", "i64>[s]", __nsThunk43, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "wordCounts", "wordCounts(_:)", "[s]>{i64}", __nsThunk44, nil) + registerMember(registrar, 11, 0, 0, "SwiftDemo", "constructor", "init(symbol:)", "s>o11", __nsThunk45, nil) + registerMember(registrar, 11, 3, 2, "SwiftDemo", "symbol", "symbol", ">s", __nsThunk46, __nsThunk47) registerMember(registrar, 10, 7, 0, "SwiftDemo", "area", "area(width:height:)", "f64,f64>t10", nil, nil) registerMember(registrar, 10, 7, 0, "SwiftDemo", "none", "none", ">t10", nil, nil) - registerMember(registrar, 10, 3, 0, "SwiftDemo", "isNone", "isNone", ">b", __nsThunk47, nil) + registerMember(registrar, 10, 3, 0, "SwiftDemo", "isNone", "isNone", ">b", __nsThunk48, nil) registerMember(registrar, 10, 7, 0, "SwiftDemo", "length", "length(_:)", "f64>t10", nil, nil) - registerMember(registrar, -1, 5, 1, "SwiftDemo", "checkedSide", "checkedSide(_:)", "f64>f64", __nsThunk48, nil) - registerMember(registrar, -1, 5, 9, "SwiftDemo", "delayedEcho", "delayedEcho(_:after:)", "s,f64>s", __nsThunk49, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "firstSubview", "firstSubview(of:)", "@UIView>@UIView?", __nsThunk50, nil) - registerMember(registrar, -1, 5, 8, "SwiftDemo", "measureLater", "measureLater(_:)", "f64>t10", __nsThunk51, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "measurements", "measurements()", ">[t10]", __nsThunk52, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "swapTrackers", "swapTrackers(_:_:)", "&o27,&o27>v", __nsThunk53, nil) - registerMember(registrar, 12, 7, 0, "SwiftDemo", "none", "none", ">e12", nil, nil) - registerMember(registrar, 12, 7, 0, "SwiftDemo", "rain", "rain", ">e12", nil, nil) - registerMember(registrar, 12, 7, 0, "SwiftDemo", "snow", "snow", ">e12", nil, nil) - registerMember(registrar, 12, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "s>e12?", __nsThunk54, nil) - registerMember(registrar, -1, 6, 0, "SwiftDemo", "defaultFlavor", "defaultFlavor", ">e17", __nsThunk55, nil) - registerMember(registrar, -1, 6, 2, "SwiftDemo", "globalCounter", "globalCounter", ">i64", __nsThunk56, __nsThunk57) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "starterWallet", "starterWallet(for:)", "s>o6", __nsThunk58, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeDefaultPoint", "makeDefaultPoint()", ">o15", __nsThunk59, nil) - registerMember(registrar, -1, 5, 8, "SwiftDemo", "makeTrackerLater", "makeTrackerLater(id:)", "i64>o27", __nsThunk60, nil) - registerMember(registrar, 13, 0, 0, "SwiftDemo", "constructor", "init(id:)", "i64>o13", __nsThunk61, nil) - registerMember(registrar, 13, 3, 2, "SwiftDemo", "id", "id", ">i64", __nsThunk62, __nsThunk63) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "sum", "sum(of:)", "[o5]>o5", __nsThunk64, nil) - registerMember(registrar, 14, 0, 0, "SwiftDemo", "constructor", "init(inner:outer:)", "o15,o15>o14", __nsThunk65, nil) - registerMember(registrar, 14, 3, 2, "SwiftDemo", "inner", "inner", ">o15", __nsThunk66, __nsThunk67) - registerMember(registrar, 14, 3, 2, "SwiftDemo", "outer", "outer", ">o15", __nsThunk68, __nsThunk69) - registerMember(registrar, 14, 1, 0, "SwiftDemo", "expand", "expand(by:)", "f64>v", __nsThunk70, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "area", "area(of:)", "t10>f64", __nsThunk71, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "bump", "bump(_:)", "&i64>v", __nsThunk72, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "echo", "echo(_:)", "t23>t23", __nsThunk73, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "flip", "flip(_:)", "e2>e2", __nsThunk74, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "host", "host(of:)", "U>s?", __nsThunk75, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "ramp", "ramp(_:)", "i64>B", __nsThunk76, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "tags", "tags(_:)", "[@UIView]>[i64]", __nsThunk77, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "text", "text(of:)", "@SwiftDemo.Note>s", __nsThunk78, nil) - registerMember(registrar, 15, 3, 0, "SwiftDemo", "description", "description", ">s", __nsThunk79, nil) - registerMember(registrar, 15, 0, 0, "SwiftDemo", "constructor", "init(x:y:)", "f64,f64>o15", __nsThunk80, nil) - registerMember(registrar, 15, 3, 2, "SwiftDemo", "x", "x", ">f64", __nsThunk81, __nsThunk82) - registerMember(registrar, 15, 3, 2, "SwiftDemo", "y", "y", ">f64", __nsThunk83, __nsThunk84) - registerMember(registrar, 15, 3, 0, "SwiftDemo", "length", "length", ">f64", __nsThunk85, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "boxed", "boxed(_:)", "o5>o0", __nsThunk86, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "clear", "clear(_:)", "&s?>v", __nsThunk87, nil) - registerMember(registrar, -1, 5, 1, "SwiftDemo", "halve", "halve(_:)", "&i64>v", __nsThunk88, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "names", "names(_:)", "i64>[s]", __nsThunk89, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "shout", "shout(_:)", "s?>s?", __nsThunk90, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "total", "total(_:)", "[f64]>f64", __nsThunk91, nil) - registerMember(registrar, 16, 0, 16, "SwiftDemo", "constructor", "init()", ">o16", __nsThunk92, nil) - registerMember(registrar, 17, 3, 0, "SwiftDemo", "description", "description", ">s", __nsThunk93, nil) - registerMember(registrar, 17, 7, 0, "SwiftDemo", "vanilla", "vanilla", ">e17", nil, nil) - registerMember(registrar, 17, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "i64>e17?", __nsThunk94, nil) - registerMember(registrar, 17, 7, 0, "SwiftDemo", "chocolate", "chocolate", ">e17", nil, nil) - registerMember(registrar, 18, 1, 0, "SwiftDemo", "modernOnly", "modernOnly()", ">v", __nsThunk95, nil) - registerMember(registrar, 18, 1, 0, "SwiftDemo", "legacyFetch", "legacyFetch()", ">v", __nsThunk96, nil) - registerMember(registrar, 18, 1, 0, "SwiftDemo", "each", "each(_:)", "(i64)>v", __nsThunk97, nil) - registerMember(registrar, 18, 1, 1, "SwiftDemo", "load", "load(path:)", "s>B", __nsThunk98, nil) - registerMember(registrar, 18, 1, 8, "SwiftDemo", "wait", "wait(seconds:)", "f64>v", __nsThunk99, nil) - registerMember(registrar, 18, 1, 9, "SwiftDemo", "fetch", "fetch(url:)", "U>s", __nsThunk100, nil) - registerMember(registrar, 18, 1, 0, "SwiftDemo", "lookup", "lookup(table:key:)", "{i64},s>i64?", __nsThunk101, nil) - registerMember(registrar, 18, 1, 0, "SwiftDemo", "update", "update(_:)", "&o15>v", __nsThunk102, nil) - registerMember(registrar, 18, 1, 0, "SwiftDemo", "oldFetch", "oldFetch()", ">v", __nsThunk103, nil) - registerMember(registrar, 18, 0, 0, "SwiftDemo", "constructor", "init()", ">o18", __nsThunk104, nil) - registerMember(registrar, 19, 3, 0, "SwiftDemo", "area", "area", ">f64", __nsThunk105, nil) - registerMember(registrar, 19, 0, 0, "SwiftDemo", "constructor", "init(side:)", "f64>o19", __nsThunk106, nil) - registerMember(registrar, 19, 3, 2, "SwiftDemo", "side", "side", ">f64", __nsThunk107, __nsThunk108) - registerMember(registrar, 19, 1, 0, "SwiftDemo", "greet", "greet(name:)", "s>s", __nsThunk109, nil) - registerMember(registrar, 19, 1, 0, "SwiftDemo", "scale", "scale(by:)", "f64>v", __nsThunk110, nil) - registerMember(registrar, 19, 4, 0, "SwiftDemo", "sides", "sides", ">i64", __nsThunk111, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "append", "append(_:to:)", "s,&[s]>v", __nsThunk112, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "settle", "settle(_:)", "i64>t7", __nsThunk113, nil) - registerMember(registrar, 20, 3, 8, "SwiftDemo", "step", "step", ">i64", __nsThunk114, nil) - registerMember(registrar, 20, 1, 0, "SwiftDemo", "label", "label()", ">s", __nsThunk115, nil) - registerMember(registrar, 20, 3, 8, "SwiftDemo", "value", "value", ">i64", __nsThunk116, nil) - registerMember(registrar, 20, 1, 8, "SwiftDemo", "increment", "increment()", ">i64", __nsThunk117, nil) - registerMember(registrar, 20, 0, 0, "SwiftDemo", "constructor", "init()", ">o20", __nsThunk118, nil) - registerMember(registrar, 21, 7, 0, "SwiftDemo", "sum", "sum(_:_:)", "t21,t21>t21", nil, nil) - registerMember(registrar, 21, 3, 0, "SwiftDemo", "value", "value", ">f64", __nsThunk119, nil) - registerMember(registrar, 21, 7, 0, "SwiftDemo", "negate", "negate(_:)", "t21>t21", nil, nil) - registerMember(registrar, 21, 7, 0, "SwiftDemo", "number", "number(_:)", "f64>t21", nil, nil) - registerMember(registrar, 22, 1, 8, "SwiftDemo", "strokeLater", "strokeLater()", ">i64", __nsThunk120, nil) - registerMember(registrar, 22, 1, 16, "SwiftDemo", "stroke", "stroke()", ">i64", __nsThunk121, nil) - registerMember(registrar, 22, 3, 16, "SwiftDemo", "strokes", "strokes", ">i64", __nsThunk122, nil) - registerMember(registrar, 22, 0, 16, "SwiftDemo", "constructor", "init()", ">o22", __nsThunk123, nil) - registerMember(registrar, 23, 7, 0, "SwiftDemo", "maybe", "maybe(_:)", "i64?>t23", nil, nil) - registerMember(registrar, 23, 7, 0, "SwiftDemo", "names", "names(_:)", "[s]>t23", nil, nil) - registerMember(registrar, 23, 7, 0, "SwiftDemo", "point", "point(_:)", "o15>t23", nil, nil) - registerMember(registrar, 23, 7, 0, "SwiftDemo", "flavor", "flavor(_:)", "e17>t23", nil, nil) - registerMember(registrar, 23, 7, 0, "SwiftDemo", "tracker", "tracker(_:)", "o27>t23", nil, nil) - registerMember(registrar, 24, 3, 0, "SwiftDemo", "vertexCount", "vertexCount", ">i64", __nsThunk124, nil) - registerMember(registrar, 24, 2, 0, "SwiftDemo", "make", "make()", ">o24", __nsThunk125, nil) - registerMember(registrar, 24, 0, 0, "SwiftDemo", "constructor", "init(name:vertexCount:)", "s,i64>o24", __nsThunk126, nil) - registerMember(registrar, 24, 0, 0, "SwiftDemo", "constructor", "init(name:)", "s>o24?", __nsThunk127, nil) - registerMember(registrar, 24, 3, 0, "SwiftDemo", "name", "name", ">s", __nsThunk128, nil) - registerMember(registrar, 25, 7, 0, "SwiftDemo", "solid", "solid", ">e25", nil, nil) - registerMember(registrar, 25, 7, 0, "SwiftDemo", "dashed", "dashed", ">e25", nil, nil) - registerMember(registrar, 25, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "s>e25?", __nsThunk129, nil) - registerMember(registrar, 24, 1, 0, "SwiftDemo", "scale", "scale(x:y:)", "f64,f64>v", __nsThunk130, nil) - registerMember(registrar, 24, 1, 4, "SwiftDemo", "scale", "scale(by:)", "f64>v", __nsThunk131, nil) - registerMember(registrar, 24, 1, 4, "SwiftDemo", "scale", "scale(by:)", "i64>v", __nsThunk132, nil) - registerMember(registrar, 24, 3, 0, "SwiftDemo", "style", "style", ">e25", __nsThunk133, nil) - registerMember(registrar, 24, 4, 0, "SwiftDemo", "shared", "shared", ">o24", __nsThunk134, nil) - registerMember(registrar, 26, 0, 0, "SwiftDemo", "constructor", "init(perimeter:)", "f64>o26", __nsThunk135, nil) - registerMember(registrar, 26, 3, 2, "SwiftDemo", "perimeter", "perimeter", ">f64", __nsThunk136, __nsThunk137) - registerMember(registrar, 24, 1, 0, "SwiftDemo", "metrics", "metrics(side:)", "f64>o26", __nsThunk138, nil) - registerMember(registrar, 24, 2, 0, "SwiftDemo", "describe", "describe(_:)", "o24?>s", __nsThunk139, nil) - registerMember(registrar, 27, 0, 0, "SwiftDemo", "constructor", "init(id:)", "i64>o27", __nsThunk140, nil) - registerMember(registrar, 27, 3, 0, "SwiftDemo", "id", "id", ">i64", __nsThunk141, nil) - registerMember(registrar, 27, 1, 0, "SwiftDemo", "same", "same()", ">o27", __nsThunk142, nil) - registerMember(registrar, 27, 4, 0, "SwiftDemo", "liveCount", "liveCount", ">i64", __nsThunk143, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "explain", "explain(_:)", "t9>s", __nsThunk144, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "lengths", "lengths(_:)", "{s}>{i64}", __nsThunk145, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "measure", "measure(_:by:)", "f64,f64?>t10", __nsThunk146, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "nextDay", "nextDay(after:)", "D>D", __nsThunk147, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "resolve", "resolve(_:against:)", "s,U>U", __nsThunk148, nil) - registerMember(registrar, 28, 1, 0, "SwiftDemo", "publishLater", "publishLater(_:)", "s>v", __nsThunk149, nil) - registerMember(registrar, 28, 1, 0, "SwiftDemo", "clear", "clear()", ">v", __nsThunk150, nil) - registerMember(registrar, 28, 3, 0, "SwiftDemo", "count", "count", ">i64", __nsThunk151, nil) - registerMember(registrar, 28, 1, 0, "SwiftDemo", "publish", "publish(_:)", "s>v", __nsThunk152, nil) - registerMember(registrar, 28, 1, 0, "SwiftDemo", "subscribe", "subscribe(_:)", "(s)>v", __nsThunk153, nil) - registerMember(registrar, 28, 0, 0, "SwiftDemo", "constructor", "init()", ">o28", __nsThunk154, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "centroid", "centroid(of:)", "[o15]>o15", __nsThunk155, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "checksum", "checksum(_:)", "B>i64", __nsThunk156, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "countBox", "countBox(_:)", "i64>o1", __nsThunk157, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "describe", "describe(_:)", "o4>s", __nsThunk158, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "describe", "describe(_:)", "@UIView>s", __nsThunk159, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "echoInt8", "echoInt8(_:)", "i8>i8", __nsThunk160, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeNote", "makeNote(_:)", "s>@SwiftDemo.Note", __nsThunk161, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "mirrored", "mirrored(_:)", "[[i64]]>[[i64]]", __nsThunk162, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "simplify", "simplify(_:)", "t21>t21", __nsThunk163, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "trackers", "trackers(_:)", "[i64]>[o27]", __nsThunk164, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "countdown", "countdown(from:_:)", "i64,(i64,b)>v", __nsThunk165, nil) - registerMember(registrar, -1, 5, 16, "SwiftDemo", "makeLabel", "makeLabel(_:)", "s>@UILabel", __nsThunk166, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeScore", "makeScore(_:_:)", "s,i64>o3", __nsThunk167, nil) - registerMember(registrar, -1, 5, 8, "SwiftDemo", "noteLater", "noteLater(_:)", "s>@SwiftDemo.Note", __nsThunk168, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "onMeasure", "onMeasure(_:)", "(t10)>v", __nsThunk169, nil) - registerMember(registrar, 12, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk170, nil) - registerMember(registrar, 17, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk171, nil) - registerMember(registrar, 25, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk172, nil) - registerMember(registrar, 9, 3, 0, "SwiftDemo", "localizedDescription", "localizedDescription", ">s", __nsThunk173, nil) + registerMember(registrar, -1, 5, 1, "SwiftDemo", "checkedSide", "checkedSide(_:)", "f64>f64", __nsThunk49, nil) + registerMember(registrar, -1, 5, 9, "SwiftDemo", "delayedEcho", "delayedEcho(_:after:)", "s,f64>s", __nsThunk50, nil) + registerMember(registrar, 12, 3, 32, "SwiftDemo", "rank", "rank", ">i64?", __nsThunk51, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "firstSubview", "firstSubview(of:)", "@UIView>@UIView?", __nsThunk52, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeGreeting", "makeGreeting(_:)", "s>p34", __nsThunk53, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "measureLater", "measureLater(_:)", "f64>t10", __nsThunk54, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "measurements", "measurements()", ">[t10]", __nsThunk55, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "swapTrackers", "swapTrackers(_:_:)", "&o33,&o33>v", __nsThunk56, nil) + registerMember(registrar, 13, 7, 0, "SwiftDemo", "none", "none", ">e13", nil, nil) + registerMember(registrar, 13, 7, 0, "SwiftDemo", "rain", "rain", ">e13", nil, nil) + registerMember(registrar, 13, 7, 0, "SwiftDemo", "snow", "snow", ">e13", nil, nil) + registerMember(registrar, 13, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "s>e13?", __nsThunk57, nil) + registerMember(registrar, -1, 6, 0, "SwiftDemo", "defaultFlavor", "defaultFlavor", ">e21", __nsThunk58, nil) + registerMember(registrar, -1, 6, 2, "SwiftDemo", "globalCounter", "globalCounter", ">i64", __nsThunk59, __nsThunk60) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "starterWallet", "starterWallet(for:)", "s>o6", __nsThunk61, nil) + registerMember(registrar, 14, 1, 0, "SwiftDemo", "score", "score(_:)", "i64>i64", __nsThunk62, nil) + registerMember(registrar, 14, 0, 0, "SwiftDemo", "constructor", "init()", ">o14", __nsThunk63, nil) + registerMember(registrar, 15, 3, 2, "SwiftDemo", "punctuation", "punctuation", ">s", __nsThunk64, __nsThunk65) + registerMember(registrar, 15, 0, 0, "SwiftDemo", "constructor", "init(name:)", "s>o15", __nsThunk66, nil) + registerMember(registrar, 15, 3, 0, "SwiftDemo", "name", "name", ">s", __nsThunk67, nil) + registerMember(registrar, 15, 1, 0, "SwiftDemo", "greet", "greet(_:)", "s>s", __nsThunk68, nil) + registerMember(registrar, 15, 1, 0, "SwiftDemo", "reset", "reset()", ">v", __nsThunk69, nil) + registerMember(registrar, 16, 1, 0, "SwiftDemo", "greet", "greet(_:)", "s>s?", __nsThunk70, nil) + registerMember(registrar, 16, 3, 2, "SwiftDemo", "greeting", "greeting", ">p34?", __nsThunk71, __nsThunk72) + registerMember(registrar, 16, 0, 0, "SwiftDemo", "constructor", "init()", ">o16", __nsThunk73, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeDefaultPoint", "makeDefaultPoint()", ">o19", __nsThunk74, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "makeTrackerLater", "makeTrackerLater(id:)", "i64>o33", __nsThunk75, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "greetInBackground", "greetInBackground(_:)", "p34>s", __nsThunk76, nil) + registerMember(registrar, 17, 0, 0, "SwiftDemo", "constructor", "init(id:)", "i64>o17", __nsThunk77, nil) + registerMember(registrar, 17, 3, 2, "SwiftDemo", "id", "id", ">i64", __nsThunk78, __nsThunk79) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "sum", "sum(of:)", "[o5]>o5", __nsThunk80, nil) + registerMember(registrar, 18, 0, 0, "SwiftDemo", "constructor", "init(inner:outer:)", "o19,o19>o18", __nsThunk81, nil) + registerMember(registrar, 18, 3, 2, "SwiftDemo", "inner", "inner", ">o19", __nsThunk82, __nsThunk83) + registerMember(registrar, 18, 3, 2, "SwiftDemo", "outer", "outer", ">o19", __nsThunk84, __nsThunk85) + registerMember(registrar, 18, 1, 0, "SwiftDemo", "expand", "expand(by:)", "f64>v", __nsThunk86, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "area", "area(of:)", "t10>f64", __nsThunk87, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "bump", "bump(_:)", "&i64>v", __nsThunk88, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "echo", "echo(_:)", "t29>t29", __nsThunk89, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "flip", "flip(_:)", "e2>e2", __nsThunk90, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "host", "host(of:)", "U>s?", __nsThunk91, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "ramp", "ramp(_:)", "i64>B", __nsThunk92, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "same", "same(_:)", "p34>p34", __nsThunk93, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "tags", "tags(_:)", "[@UIView]>[i64]", __nsThunk94, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "text", "text(of:)", "@SwiftDemo.Note>s", __nsThunk95, nil) + registerMember(registrar, 19, 3, 0, "SwiftDemo", "description", "description", ">s", __nsThunk96, nil) + registerMember(registrar, 19, 0, 0, "SwiftDemo", "constructor", "init(x:y:)", "f64,f64>o19", __nsThunk97, nil) + registerMember(registrar, 19, 3, 2, "SwiftDemo", "x", "x", ">f64", __nsThunk98, __nsThunk99) + registerMember(registrar, 19, 3, 2, "SwiftDemo", "y", "y", ">f64", __nsThunk100, __nsThunk101) + registerMember(registrar, 19, 3, 0, "SwiftDemo", "length", "length", ">f64", __nsThunk102, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "boxed", "boxed(_:)", "o5>o0", __nsThunk103, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "clear", "clear(_:)", "&s?>v", __nsThunk104, nil) + registerMember(registrar, -1, 5, 1, "SwiftDemo", "halve", "halve(_:)", "&i64>v", __nsThunk105, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "names", "names(_:)", "i64>[s]", __nsThunk106, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "shout", "shout(_:)", "s?>s?", __nsThunk107, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "total", "total(_:)", "[f64]>f64", __nsThunk108, nil) + registerMember(registrar, 20, 0, 16, "SwiftDemo", "constructor", "init()", ">o20", __nsThunk109, nil) + registerMember(registrar, 21, 3, 0, "SwiftDemo", "description", "description", ">s", __nsThunk110, nil) + registerMember(registrar, 21, 7, 0, "SwiftDemo", "vanilla", "vanilla", ">e21", nil, nil) + registerMember(registrar, 21, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "i64>e21?", __nsThunk111, nil) + registerMember(registrar, 21, 7, 0, "SwiftDemo", "chocolate", "chocolate", ">e21", nil, nil) + registerMember(registrar, 22, 1, 0, "SwiftDemo", "modernOnly", "modernOnly()", ">v", __nsThunk112, nil) + registerMember(registrar, 22, 1, 0, "SwiftDemo", "legacyFetch", "legacyFetch()", ">v", __nsThunk113, nil) + registerMember(registrar, 22, 1, 0, "SwiftDemo", "each", "each(_:)", "(i64)>v", __nsThunk114, nil) + registerMember(registrar, 22, 1, 1, "SwiftDemo", "load", "load(path:)", "s>B", __nsThunk115, nil) + registerMember(registrar, 22, 1, 8, "SwiftDemo", "wait", "wait(seconds:)", "f64>v", __nsThunk116, nil) + registerMember(registrar, 22, 1, 9, "SwiftDemo", "fetch", "fetch(url:)", "U>s", __nsThunk117, nil) + registerMember(registrar, 22, 1, 0, "SwiftDemo", "lookup", "lookup(table:key:)", "{i64},s>i64?", __nsThunk118, nil) + registerMember(registrar, 22, 1, 0, "SwiftDemo", "update", "update(_:)", "&o19>v", __nsThunk119, nil) + registerMember(registrar, 22, 1, 0, "SwiftDemo", "oldFetch", "oldFetch()", ">v", __nsThunk120, nil) + registerMember(registrar, 22, 0, 0, "SwiftDemo", "constructor", "init()", ">o22", __nsThunk121, nil) + registerMember(registrar, 23, 1, 33, "SwiftDemo", "score", "score(_:)", "i64>i64", __nsThunk122, nil) + registerMember(registrar, 24, 3, 0, "SwiftDemo", "area", "area", ">f64", __nsThunk123, nil) + registerMember(registrar, 24, 0, 0, "SwiftDemo", "constructor", "init(side:)", "f64>o24", __nsThunk124, nil) + registerMember(registrar, 24, 3, 2, "SwiftDemo", "side", "side", ">f64", __nsThunk125, __nsThunk126) + registerMember(registrar, 24, 1, 0, "SwiftDemo", "greet", "greet(name:)", "s>s", __nsThunk127, nil) + registerMember(registrar, 24, 1, 0, "SwiftDemo", "scale", "scale(by:)", "f64>v", __nsThunk128, nil) + registerMember(registrar, 24, 4, 0, "SwiftDemo", "sides", "sides", ">i64", __nsThunk129, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "append", "append(_:to:)", "s,&[s]>v", __nsThunk130, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "excite", "excite(_:)", "p34>v", __nsThunk131, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "settle", "settle(_:)", "i64>t7", __nsThunk132, nil) + registerMember(registrar, 25, 3, 8, "SwiftDemo", "step", "step", ">i64", __nsThunk133, nil) + registerMember(registrar, 25, 1, 0, "SwiftDemo", "label", "label()", ">s", __nsThunk134, nil) + registerMember(registrar, 25, 3, 8, "SwiftDemo", "value", "value", ">i64", __nsThunk135, nil) + registerMember(registrar, 25, 1, 8, "SwiftDemo", "increment", "increment()", ">i64", __nsThunk136, nil) + registerMember(registrar, 25, 0, 0, "SwiftDemo", "constructor", "init()", ">o25", __nsThunk137, nil) + registerMember(registrar, 26, 7, 0, "SwiftDemo", "sum", "sum(_:_:)", "t26,t26>t26", nil, nil) + registerMember(registrar, 26, 3, 0, "SwiftDemo", "value", "value", ">f64", __nsThunk138, nil) + registerMember(registrar, 26, 7, 0, "SwiftDemo", "negate", "negate(_:)", "t26>t26", nil, nil) + registerMember(registrar, 26, 7, 0, "SwiftDemo", "number", "number(_:)", "f64>t26", nil, nil) + registerMember(registrar, 27, 1, 32, "SwiftDemo", "greet", "greet(name:)", "s>s", __nsThunk139, nil) + registerMember(registrar, 28, 1, 8, "SwiftDemo", "strokeLater", "strokeLater()", ">i64", __nsThunk140, nil) + registerMember(registrar, 28, 1, 16, "SwiftDemo", "stroke", "stroke()", ">i64", __nsThunk141, nil) + registerMember(registrar, 28, 3, 16, "SwiftDemo", "strokes", "strokes", ">i64", __nsThunk142, nil) + registerMember(registrar, 28, 0, 16, "SwiftDemo", "constructor", "init()", ">o28", __nsThunk143, nil) + registerMember(registrar, 29, 7, 0, "SwiftDemo", "maybe", "maybe(_:)", "i64?>t29", nil, nil) + registerMember(registrar, 29, 7, 0, "SwiftDemo", "names", "names(_:)", "[s]>t29", nil, nil) + registerMember(registrar, 29, 7, 0, "SwiftDemo", "point", "point(_:)", "o19>t29", nil, nil) + registerMember(registrar, 29, 7, 0, "SwiftDemo", "flavor", "flavor(_:)", "e21>t29", nil, nil) + registerMember(registrar, 29, 7, 0, "SwiftDemo", "tracker", "tracker(_:)", "o33>t29", nil, nil) + registerMember(registrar, 30, 3, 0, "SwiftDemo", "vertexCount", "vertexCount", ">i64", __nsThunk144, nil) + registerMember(registrar, 30, 2, 0, "SwiftDemo", "make", "make()", ">o30", __nsThunk145, nil) + registerMember(registrar, 30, 0, 0, "SwiftDemo", "constructor", "init(name:vertexCount:)", "s,i64>o30", __nsThunk146, nil) + registerMember(registrar, 30, 0, 0, "SwiftDemo", "constructor", "init(name:)", "s>o30?", __nsThunk147, nil) + registerMember(registrar, 30, 3, 0, "SwiftDemo", "name", "name", ">s", __nsThunk148, nil) + registerMember(registrar, 31, 7, 0, "SwiftDemo", "solid", "solid", ">e31", nil, nil) + registerMember(registrar, 31, 7, 0, "SwiftDemo", "dashed", "dashed", ">e31", nil, nil) + registerMember(registrar, 31, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "s>e31?", __nsThunk149, nil) + registerMember(registrar, 30, 1, 0, "SwiftDemo", "scale", "scale(x:y:)", "f64,f64>v", __nsThunk150, nil) + registerMember(registrar, 30, 1, 4, "SwiftDemo", "scale", "scale(by:)", "f64>v", __nsThunk151, nil) + registerMember(registrar, 30, 1, 4, "SwiftDemo", "scale", "scale(by:)", "i64>v", __nsThunk152, nil) + registerMember(registrar, 30, 3, 0, "SwiftDemo", "style", "style", ">e31", __nsThunk153, nil) + registerMember(registrar, 30, 4, 0, "SwiftDemo", "shared", "shared", ">o30", __nsThunk154, nil) + registerMember(registrar, 32, 0, 0, "SwiftDemo", "constructor", "init(perimeter:)", "f64>o32", __nsThunk155, nil) + registerMember(registrar, 32, 3, 2, "SwiftDemo", "perimeter", "perimeter", ">f64", __nsThunk156, __nsThunk157) + registerMember(registrar, 30, 1, 0, "SwiftDemo", "metrics", "metrics(side:)", "f64>o32", __nsThunk158, nil) + registerMember(registrar, 30, 2, 0, "SwiftDemo", "describe", "describe(_:)", "o30?>s", __nsThunk159, nil) + registerMember(registrar, 33, 0, 0, "SwiftDemo", "constructor", "init(id:)", "i64>o33", __nsThunk160, nil) + registerMember(registrar, 33, 3, 0, "SwiftDemo", "id", "id", ">i64", __nsThunk161, nil) + registerMember(registrar, 33, 1, 0, "SwiftDemo", "same", "same()", ">o33", __nsThunk162, nil) + registerMember(registrar, 33, 4, 0, "SwiftDemo", "liveCount", "liveCount", ">i64", __nsThunk163, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "explain", "explain(_:)", "t9>s", __nsThunk164, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "lengths", "lengths(_:)", "{s}>{i64}", __nsThunk165, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "measure", "measure(_:by:)", "f64,f64?>t10", __nsThunk166, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "nextDay", "nextDay(after:)", "D>D", __nsThunk167, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "resolve", "resolve(_:against:)", "s,U>U", __nsThunk168, nil) + registerMember(registrar, -1, 5, 1, "SwiftDemo", "topRank", "topRank(_:)", "p12>s", __nsThunk169, nil) + registerMember(registrar, 34, 3, 34, "SwiftDemo", "punctuation", "punctuation", ">s", __nsThunk170, __nsThunk171) + registerMember(registrar, 34, 3, 32, "SwiftDemo", "name", "name", ">s", __nsThunk172, nil) + registerMember(registrar, 34, 1, 32, "SwiftDemo", "greet", "greet(_:)", "s>s", __nsThunk173, nil) + registerMember(registrar, 34, 1, 32, "SwiftDemo", "reset", "reset()", ">v", __nsThunk174, nil) + registerMember(registrar, 34, 1, 0, "SwiftDemo", "shout", "shout(_:)", "s>s", __nsThunk175, nil) + registerMember(registrar, 15, 1, 0, "SwiftDemo", "shout", "shout(_:)", "s>s", __nsThunk176, nil) + registerMember(registrar, 35, 1, 0, "SwiftDemo", "publishLater", "publishLater(_:)", "s>v", __nsThunk177, nil) + registerMember(registrar, 35, 1, 0, "SwiftDemo", "clear", "clear()", ">v", __nsThunk178, nil) + registerMember(registrar, 35, 3, 0, "SwiftDemo", "count", "count", ">i64", __nsThunk179, nil) + registerMember(registrar, 35, 1, 0, "SwiftDemo", "publish", "publish(_:)", "s>v", __nsThunk180, nil) + registerMember(registrar, 35, 1, 0, "SwiftDemo", "subscribe", "subscribe(_:)", "(s)>v", __nsThunk181, nil) + registerMember(registrar, 35, 0, 0, "SwiftDemo", "constructor", "init()", ">o35", __nsThunk182, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "centroid", "centroid(of:)", "[o19]>o19", __nsThunk183, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "checksum", "checksum(_:)", "B>i64", __nsThunk184, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "countBox", "countBox(_:)", "i64>o1", __nsThunk185, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "describe", "describe(_:)", "o4>s", __nsThunk186, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "describe", "describe(_:)", "@UIView>s", __nsThunk187, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "echoInt8", "echoInt8(_:)", "i8>i8", __nsThunk188, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeNote", "makeNote(_:)", "s>@SwiftDemo.Note", __nsThunk189, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "mirrored", "mirrored(_:)", "[[i64]]>[[i64]]", __nsThunk190, nil) + registerMember(registrar, -1, 5, 1, "SwiftDemo", "scoreAll", "scoreAll(_:_:)", "p23,[i64]>[i64]", __nsThunk191, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "simplify", "simplify(_:)", "t26>t26", __nsThunk192, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "trackers", "trackers(_:)", "[i64]>[o33]", __nsThunk193, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "countdown", "countdown(from:_:)", "i64,(i64,b)>v", __nsThunk194, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "introduce", "introduce(_:to:)", "p34,s>s", __nsThunk195, nil) + registerMember(registrar, -1, 5, 16, "SwiftDemo", "makeLabel", "makeLabel(_:)", "s>@UILabel", __nsThunk196, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeScore", "makeScore(_:_:)", "s,i64>o3", __nsThunk197, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "noteLater", "noteLater(_:)", "s>@SwiftDemo.Note", __nsThunk198, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "onMeasure", "onMeasure(_:)", "(t10)>v", __nsThunk199, nil) + registerMember(registrar, 13, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk200, nil) + registerMember(registrar, 21, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk201, nil) + registerMember(registrar, 31, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk202, nil) + registerMember(registrar, 9, 3, 0, "SwiftDemo", "localizedDescription", "localizedDescription", ">s", __nsThunk203, nil) } #if hasAttribute(c) diff --git a/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Protocols.swift b/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Protocols.swift new file mode 100644 index 00000000..7a7b45c7 --- /dev/null +++ b/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Protocols.swift @@ -0,0 +1,65 @@ +// Protocols JavaScript objects can implement. + +public protocol Greeting: AnyObject { + var name: String { get } + var punctuation: String { get set } + func greet(_ other: String) -> String + func reset() +} + +public protocol Scorer { + func score(_ value: Int) throws -> Int +} + +// Refines Scorer: implementations provide both protocols' requirements. +public protocol RankedScorer: Scorer { + var rank: Int? { get } +} + +extension Greeting { + public func shout(_ other: String) -> String { greet(other).uppercased() } +} + +public final class FormalGreeting: Greeting { + public let name: String + public var punctuation = "." + public init(name: String) { self.name = name } + public func greet(_ other: String) -> String { "Good day, \(other), from \(name)" } + public func reset() { punctuation = "." } +} + +public struct DoublingScorer: Scorer { + public init() {} + public func score(_ value: Int) -> Int { value * 2 } +} + +public func introduce(_ greeting: any Greeting, to other: String) -> String { + greeting.greet(other) + greeting.punctuation +} + +public func makeGreeting(_ name: String) -> any Greeting { FormalGreeting(name: name) } +public func same(_ greeting: any Greeting) -> any Greeting { greeting } +public func excite(_ greeting: any Greeting) { greeting.punctuation = "!" } +public func scoreAll(_ scorer: any Scorer, _ values: [Int]) throws -> [Int] { + try values.map { try scorer.score($0) } +} +public func makeScorer() -> any Scorer { DoublingScorer() } +public func topRank(_ scorer: any RankedScorer) throws -> String { + "\(scorer.rank ?? -1):\(try scorer.score(1))" +} + +private final class Unchecked: @unchecked Sendable { + let value: Value + init(_ value: Value) { self.value = value } +} + +public func greetInBackground(_ greeting: any Greeting) async -> String { + let box = Unchecked(greeting) + return await Task.detached { box.value.greet("background") }.value +} + +public final class GreetingHolder { + public var greeting: (any Greeting)? + public init() {} + public func greet(_ other: String) -> String? { greeting?.greet(other) } +} diff --git a/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo.symbols.json b/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo.symbols.json index bcd02319..b497450d 100644 --- a/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo.symbols.json +++ b/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo.symbols.json @@ -1 +1 @@ -{"metadata":{"formatVersion":{"major":0,"minor":6,"patch":0},"generator":"Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)"},"module":{"name":"SwiftDemo","platform":{"architecture":"arm64","environment":"simulator","vendor":"apple","operatingSystem":{"name":"ios","minimumVersion":{"major":15,"minor":0}}}},"symbols":[{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo7GreeterP","interfaceLanguage":"swift"},"pathComponents":["Greeter"],"names":{"title":"Greeter","navigator":[{"kind":"identifier","spelling":"Greeter"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeter"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeter"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":0,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Greeter","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":1,"character":9}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo0B0C","interfaceLanguage":"swift"},"pathComponents":["Demo"],"names":{"title":"Demo","navigator":[{"kind":"identifier","spelling":"Demo"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Demo"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Demo"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":4,"character":13}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo0B0CACycfc","interfaceLanguage":"swift"},"pathComponents":["Demo","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":5,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo0B0C5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Demo","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":6,"character":16}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo5PointV","interfaceLanguage":"swift"},"pathComponents":["Point"],"names":{"title":"Point","navigator":[{"kind":"identifier","spelling":"Point"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Point"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Point"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":9,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV1xSdvp","interfaceLanguage":"swift"},"pathComponents":["Point","x"],"names":{"title":"x","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":10,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV1ySdvp","interfaceLanguage":"swift"},"pathComponents":["Point","y"],"names":{"title":"y","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":11,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo5PointV1x1yACSd_Sdtcfc","interfaceLanguage":"swift"},"pathComponents":["Point","init(x:y:)"],"names":{"title":"init(x:y:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"x","declarationFragments":[{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"y","declarationFragments":[{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":12,"character":11}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor"],"names":{"title":"Flavor","navigator":[{"kind":"identifier","spelling":"Flavor"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Flavor"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Flavor"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo6FlavorO7vanillayA2CmF","interfaceLanguage":"swift"},"pathComponents":["Flavor","vanilla"],"names":{"title":"Flavor.vanilla","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vanilla"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vanilla"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":31}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo6FlavorO9chocolateyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Flavor","chocolate"],"names":{"title":"Flavor.chocolate","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"chocolate"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"chocolate"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":44}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Flavor","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo0B0C5greet4name5timesS2S_SitF","interfaceLanguage":"swift"},"pathComponents":["Demo","greet(name:times:)"],"names":{"title":"greet(name:times:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"times","declarationFragments":[{"kind":"identifier","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":1,"character":16}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo0B0C7versionSSvpZ","interfaceLanguage":"swift"},"pathComponents":["Demo","version"],"names":{"title":"version","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":5,"character":22}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV11descriptionSSvp","interfaceLanguage":"swift"},"pathComponents":["Point","description"],"names":{"title":"description","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":9,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV6lengthSdvp","interfaceLanguage":"swift"},"pathComponents":["Point","length"],"names":{"title":"length","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":10,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6FlavorO11descriptionSSvp","interfaceLanguage":"swift"},"pathComponents":["Flavor","description"],"names":{"title":"description","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.enum"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":14,"character":15}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style"],"names":{"title":"Polygon.Style","navigator":[{"kind":"identifier","spelling":"Style"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Style"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Style"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","solid"],"names":{"title":"Polygon.Style.solid","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"solid"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"solid"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":37}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","dashed"],"names":{"title":"Polygon.Style.dashed","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dashed"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dashed"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":44}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics"],"names":{"title":"Polygon.Metrics","navigator":[{"kind":"identifier","spelling":"Metrics"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Metrics"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Metrics"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":33,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics","perimeter"],"names":{"title":"perimeter","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":34,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics","init(perimeter:)"],"names":{"title":"init(perimeter:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"perimeter","declarationFragments":[{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":35,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5styleAC5StyleOvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","style"],"names":{"title":"style","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"style"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Style","preciseIdentifier":"s:9SwiftDemo7PolygonC5StyleO"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"style"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Style","preciseIdentifier":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":38,"character":15}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","metrics(side:)"],"names":{"title":"metrics(side:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"metrics"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"."},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"metrics"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":39,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF","interfaceLanguage":"swift"},"pathComponents":["starterWallet(for:)"],"names":{"title":"starterWallet(for:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"starterWallet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"for"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}]},"functionSignature":{"parameters":[{"name":"for","internalName":"owner","declarationFragments":[{"kind":"identifier","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"starterWallet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"for"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":4,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF","interfaceLanguage":"swift"},"pathComponents":["sum(of:)"],"names":{"title":"sum(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"amounts","declarationFragments":[{"kind":"identifier","spelling":"amounts"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"amounts"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":10,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4flipy0aB3Kit4CoinOAEF","interfaceLanguage":"swift"},"pathComponents":["flip(_:)"],"names":{"title":"flip(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flip"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]},"functionSignature":{"parameters":[{"name":"coin","declarationFragments":[{"kind":"identifier","spelling":"coin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flip"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"coin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":14,"character":12}}},{"kind":{"identifier":"swift.typealias","displayName":"Type Alias"},"identifier":{"precise":"s:9SwiftDemo5Scorea","interfaceLanguage":"swift"},"pathComponents":["Score"],"names":{"title":"Score","navigator":[{"kind":"identifier","spelling":"Score"}],"subHeading":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Score"}]},"declarationFragments":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Score"},{"kind":"text","spelling":" = "},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":25,"character":17}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9makeScorey0aB3Kit4PairVySSSiGSS_SitF","interfaceLanguage":"swift"},"pathComponents":["makeScore(_:_:)"],"names":{"title":"makeScore(_:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeScore"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Score","preciseIdentifier":"s:9SwiftDemo5Scorea"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"points","declarationFragments":[{"kind":"identifier","spelling":"points"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Score","preciseIdentifier":"s:9SwiftDemo5Scorea"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeScore"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"points"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Score","preciseIdentifier":"s:9SwiftDemo5Scorea"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":27,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8describeySS0aB3Kit4PairVySiSSGF","interfaceLanguage":"swift"},"pathComponents":["describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"pair","declarationFragments":[{"kind":"identifier","spelling":"pair"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":">"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"pair"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":28,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5boxedy0aB3Kit3BoxCyAC5MoneyVGAGF","interfaceLanguage":"swift"},"pathComponents":["boxed(_:)"],"names":{"title":"boxed(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"boxed"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":">"}]},"functionSignature":{"parameters":[{"name":"money","declarationFragments":[{"kind":"identifier","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":">"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"boxed"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":29,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8countBoxy0aB3Kit0D0CySiGSiF","interfaceLanguage":"swift"},"pathComponents":["countBox(_:)"],"names":{"title":"countBox(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countBox"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countBox"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":30,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo6settley0aB3Kit7OutcomeOySiGSiF","interfaceLanguage":"swift"},"pathComponents":["settle(_:)"],"names":{"title":"settle(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settle"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Outcome","preciseIdentifier":"s:12SwiftDemoKit7OutcomeO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Outcome","preciseIdentifier":"s:12SwiftDemoKit7OutcomeO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settle"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Outcome","preciseIdentifier":"s:12SwiftDemoKit7OutcomeO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":31,"character":12}}},{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo5ShapeP","interfaceLanguage":"swift"},"pathComponents":["Shape"],"names":{"title":"Shape","navigator":[{"kind":"identifier","spelling":"Shape"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Shape"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Shape"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Greeter","preciseIdentifier":"s:9SwiftDemo7GreeterP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":2,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5ShapeP4areaSdvp","interfaceLanguage":"swift"},"pathComponents":["Shape","area"],"names":{"title":"area","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":3,"character":8}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo5ShapeP5sidesSivpZ","interfaceLanguage":"swift"},"pathComponents":["Shape","sides"],"names":{"title":"sides","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":4,"character":15}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7PolygonC","interfaceLanguage":"swift"},"pathComponents":["Polygon"],"names":{"title":"Polygon","navigator":[{"kind":"identifier","spelling":"Polygon"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Polygon"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Polygon"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":7,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4nameSSvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","name"],"names":{"title":"name","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":8,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC11vertexCountSivp","interfaceLanguage":"swift"},"pathComponents":["Polygon","vertexCount"],"names":{"title":"vertexCount","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":9,"character":28}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC6sharedACvpZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","shared"],"names":{"title":"shared","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shared"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shared"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":10,"character":22}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","init(name:vertexCount:)"],"names":{"title":"init(name:vertexCount:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"vertexCount","declarationFragments":[{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":12,"character":11}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4nameACSgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","init(name:)"],"names":{"title":"init(name:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"convenience"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":17,"character":23}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":22,"character":14}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale2byySi_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":23,"character":14}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(x:y:)"],"names":{"title":"scale(x:y:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"x","declarationFragments":[{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"y","declarationFragments":[{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":24,"character":16}}},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4makeACyFZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","make()"],"names":{"title":"make()","subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"make"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"make"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":26,"character":22}}},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC8describeySSACSgFZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"polygon","declarationFragments":[{"kind":"identifier","spelling":"polygon"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"polygon"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":27,"character":23}}},{"kind":{"identifier":"swift.subscript","displayName":"Instance Subscript"},"identifier":{"precise":"s:9SwiftDemo7PolygonCyAA5PointVSicip","interfaceLanguage":"swift"},"pathComponents":["Polygon","subscript(_:)"],"names":{"title":"subscript(_:)","subHeading":[{"kind":"keyword","spelling":"subscript"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"parameters":[{"name":"index","declarationFragments":[{"kind":"identifier","spelling":"index"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"subscript"},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"index"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":29,"character":11}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6SquareC","interfaceLanguage":"swift"},"pathComponents":["Square"],"names":{"title":"Square","navigator":[{"kind":"identifier","spelling":"Square"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Square"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Square"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":34,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC4sideSdvp","interfaceLanguage":"swift"},"pathComponents":["Square","side"],"names":{"title":"side","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":35,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6SquareC4sideACSd_tcfc","interfaceLanguage":"swift"},"pathComponents":["Square","init(side:)"],"names":{"title":"init(side:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":37,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC4areaSdvp","interfaceLanguage":"swift"},"pathComponents":["Square","area"],"names":{"title":"area","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":42,"character":15}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC5sidesSivpZ","interfaceLanguage":"swift"},"pathComponents":["Square","sides"],"names":{"title":"sides","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":43,"character":22}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6SquareC5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Square","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":44,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6SquareC5scale2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Square","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"override"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":46,"character":25}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation"],"names":{"title":"Precipitation","navigator":[{"kind":"identifier","spelling":"Precipitation"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Precipitation"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Precipitation"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":50,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4rainyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","rain"],"names":{"title":"Precipitation.rain","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rain"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rain"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4snowyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","snow"],"names":{"title":"Precipitation.snow","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"snow"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"snow"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":15}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4noneyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","none"],"names":{"title":"Precipitation.none","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":21}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Precipitation","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO","interfaceLanguage":"swift"},"pathComponents":["ShapeError"],"names":{"title":"ShapeError","navigator":[{"kind":"identifier","spelling":"ShapeError"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ShapeError"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ShapeError"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":54,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO","interfaceLanguage":"swift"},"pathComponents":["ShapeError","localizedDescription"],"names":{"title":"localizedDescription","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localizedDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"docComment":{"module":"Foundation","lines":[{"text":"Retrieve the localized description for this error."}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localizedDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":8,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":10}},{"domain":"tvOS","introduced":{"major":9,"minor":0}},{"domain":"watchOS","introduced":{"major":2,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","invalidSide(_:)"],"names":{"title":"ShapeError.invalidSide(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":55,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","tooManySides(count:limit:)"],"names":{"title":"ShapeError.tooManySides(count:limit:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tooManySides"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tooManySides"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":56,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO7unknownyA2CmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","unknown"],"names":{"title":"ShapeError.unknown","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unknown"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unknown"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":57,"character":9}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO","interfaceLanguage":"swift"},"pathComponents":["Measurement"],"names":{"title":"Measurement","navigator":[{"kind":"identifier","spelling":"Measurement"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Measurement"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Measurement"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":60,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO6lengthyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","length(_:)"],"names":{"title":"Measurement.length(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":61,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","area(width:height:)"],"names":{"title":"Measurement.area(width:height:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":62,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4noneyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","none"],"names":{"title":"Measurement.none","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":63,"character":9}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit"],"names":{"title":"Measurement.Unit","navigator":[{"kind":"identifier","spelling":"Unit"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Unit"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Unit"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":65,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit","symbol"],"names":{"title":"symbol","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":66,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit","init(symbol:)"],"names":{"title":"init(symbol:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"symbol","declarationFragments":[{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":67,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO6isNoneSbvp","interfaceLanguage":"swift"},"pathComponents":["Measurement","isNone"],"names":{"title":"isNone","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isNone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isNone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":70,"character":15}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo4RingV","interfaceLanguage":"swift"},"pathComponents":["Ring"],"names":{"title":"Ring","navigator":[{"kind":"identifier","spelling":"Ring"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ring"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ring"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":76,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4RingV5innerAA5PointVvp","interfaceLanguage":"swift"},"pathComponents":["Ring","inner"],"names":{"title":"inner","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":77,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4RingV5outerAA5PointVvp","interfaceLanguage":"swift"},"pathComponents":["Ring","outer"],"names":{"title":"outer","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":78,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc","interfaceLanguage":"swift"},"pathComponents":["Ring","init(inner:outer:)"],"names":{"title":"init(inner:outer:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"inner","declarationFragments":[{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},{"name":"outer","declarationFragments":[{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":80,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo4RingV6expand2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Ring","expand(by:)"],"names":{"title":"expand(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"delta","declarationFragments":[{"kind":"identifier","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"mutating"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":85,"character":25}}},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:9SwiftDemo4RingV1poiyA2C_ACtFZ","interfaceLanguage":"swift"},"pathComponents":["Ring","+(_:_:)"],"names":{"title":"+(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"+"},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"+"},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":90,"character":23}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter"],"names":{"title":"Counter","navigator":[{"kind":"identifier","spelling":"Counter"}],"subHeading":[{"kind":"keyword","spelling":"actor"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Counter"}]},"declarationFragments":[{"kind":"keyword","spelling":"actor"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Counter"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":95,"character":13}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","withSerialExecutor(_:)"],"names":{"title":"withSerialExecutor(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">((any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Perform an operation with the actor's ``SerialExecutor``."},{"text":""},{"text":"This converts the actor's ``Actor/unownedExecutor`` to a ``SerialExecutor`` while"},{"text":"retaining the actor for the duration of the operation. This is to ensure the lifetime"},{"text":"of the executor while performing the operation."}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1},{"name":"E","index":1,"depth":1}],"constraints":[{"kind":"conformance","lhs":"E","rhs":"Error","rhsPrecise":"s:s5ErrorP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Error","preciseIdentifier":"s:s5ErrorP"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : ~Copyable"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","withSerialExecutor(_:)"],"names":{"title":"withSerialExecutor(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"keyword","spelling":"nonisolated(nonsending)"},{"kind":"text","spelling":" (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Perform an operation with the actor's ``SerialExecutor``."},{"text":""},{"text":"This converts the actor's ``Actor/unownedExecutor`` to a ``SerialExecutor`` while"},{"text":"retaining the actor for the duration of the operation. This is to ensure the lifetime"},{"text":"of the executor while performing the operation."}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1},{"name":"E","index":1,"depth":1}],"constraints":[{"kind":"conformance","lhs":"E","rhs":"Error","rhsPrecise":"s:s5ErrorP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"nonisolated(nonsending)"},{"kind":"text","spelling":" (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Error","preciseIdentifier":"s:s5ErrorP"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : ~Copyable"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","preconditionIsolated(_:file:line:)"],"names":{"title":"preconditionIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preconditionIsolated"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":")"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Stops program execution if the current task is not executing on this"},{"text":"actor's serial executor."},{"text":""},{"text":"This function's effect varies depending on the build flag used:"},{"text":""},{"text":"* In playgrounds and `-Onone` builds (the default for Xcode's Debug"},{"text":" configuration), stops program execution in a debuggable state after"},{"text":" printing `message`."},{"text":""},{"text":"* In `-O` builds (the default for Xcode's Release configuration), stops"},{"text":" program execution."},{"text":""},{"text":"- Note: Because this check is performed against the actor's serial executor,"},{"text":" if another actor uses the same serial executor--by using"},{"text":" that actor's serial executor as its own ``Actor/unownedExecutor``--this"},{"text":" check will succeed. From a concurrency safety perspective, the"},{"text":" serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - message: The message to print if the assertion fails."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": () -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"text","spelling":"@backDeployed(before: macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0)\n"},{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preconditionIsolated"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" = String(), "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","assertIsolated(_:file:line:)"],"names":{"title":"assertIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assertIsolated"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":")"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Stops program execution if the current task is not executing on this"},{"text":"actor's serial executor."},{"text":""},{"text":"This function's effect varies depending on the build flag used:"},{"text":""},{"text":"* In playgrounds and `-Onone` builds (the default for Xcode's Debug"},{"text":" configuration), stops program execution in a debuggable state after"},{"text":" printing `message`."},{"text":""},{"text":"* In `-O` builds (the default for Xcode's Release configuration),"},{"text":" the isolation check is not performed and there are no effects."},{"text":""},{"text":"- Note: This check is performed against the actor's serial executor,"},{"text":" meaning that / if another actor uses the same serial executor--by using"},{"text":" that actor's serial executor as its own ``Actor/unownedExecutor``--this"},{"text":" check will succeed , as from a concurrency safety perspective, the"},{"text":" serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - message: The message to print if the assertion fails."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": () -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"text","spelling":"@backDeployed(before: macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0)\n"},{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assertIsolated"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" = String(), "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","assumeIsolated(_:file:line:)"],"names":{"title":"assumeIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assumeIsolated"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">(("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"rethrows"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Assume that the current task is executing on this actor's serial executor,"},{"text":"or stop program execution otherwise."},{"text":""},{"text":"You call this method to *assume and verify* that the currently"},{"text":"executing synchronous function is actually executing on the serial"},{"text":"executor of this actor."},{"text":""},{"text":"If that is the case, the operation is invoked with an `isolated` version"},{"text":"of the actor, allowing synchronous access to actor local state without"},{"text":"hopping through asynchronous boundaries."},{"text":""},{"text":"If the current context is not running on the actor's serial executor, or"},{"text":"if the actor is a reference to a remote actor, this method will crash"},{"text":"with a fatal error (similar to ``preconditionIsolated(_:file:line:)``)."},{"text":""},{"text":"Note that this check is performed against the passed in actor's serial"},{"text":"executor, meaning that if another actor uses the same serial executor--by"},{"text":"using that actor's ``Actor/unownedExecutor`` as its own"},{"text":"``Actor/unownedExecutor``--this check will succeed, as from a concurrency"},{"text":"safety perspective, the serial executor guarantees mutual exclusion of"},{"text":"those two actors."},{"text":""},{"text":"This method can only be used from synchronous functions, as asynchronous"},{"text":"functions should instead perform a normal method call to the actor, which"},{"text":"will hop task execution to the target actor if necessary."},{"text":""},{"text":"- Note: This check is performed against the actor's serial executor,"},{"text":" meaning that / if another actor uses the same serial executor--by using"},{"text":" another actor's executor as its own ``Actor/unownedExecutor``"},{"text":" --this check will succeed , as from a concurrency safety perspective,"},{"text":" the serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - operation: the operation that will be executed if the current context"},{"text":" is executing on the actors serial executor."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."},{"text":"- Returns: the return value of the `operation`"},{"text":"- Throws: rethrows the `Error` thrown by the operation if it threw"}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1}],"constraints":[{"kind":"conformance","lhs":"T","rhs":"Sendable","rhsPrecise":"s:s8SendableP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assumeIsolated"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"rethrows"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Sendable","preciseIdentifier":"s:s8SendableP"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7CounterC5valueSivp","interfaceLanguage":"swift"},"pathComponents":["Counter","value"],"names":{"title":"value","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":96,"character":28}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7CounterC4stepSivp","interfaceLanguage":"swift"},"pathComponents":["Counter","step"],"names":{"title":"step","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"step"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"step"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":97,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7CounterCACycfc","interfaceLanguage":"swift"},"pathComponents":["Counter","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":98,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7CounterC9incrementSiyF","interfaceLanguage":"swift"},"pathComponents":["Counter","increment()"],"names":{"title":"increment()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"increment"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"increment"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":99,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7CounterC5labelSSyF","interfaceLanguage":"swift"},"pathComponents":["Counter","label()"],"names":{"title":"label()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":103,"character":28}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6CanvasC","interfaceLanguage":"swift"},"pathComponents":["Canvas"],"names":{"title":"Canvas","navigator":[{"kind":"identifier","spelling":"Canvas"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Canvas"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Canvas"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":107,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6CanvasCACycfc","interfaceLanguage":"swift"},"pathComponents":["Canvas","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":108,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6CanvasC4drawyyAA5Shape_pF","interfaceLanguage":"swift"},"pathComponents":["Canvas","draw(_:)"],"names":{"title":"draw(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draw"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"shape","declarationFragments":[{"kind":"identifier","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draw"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":109,"character":16}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6LoaderC","interfaceLanguage":"swift"},"pathComponents":["Loader"],"names":{"title":"Loader","navigator":[{"kind":"identifier","spelling":"Loader"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Loader"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Loader"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":112,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6LoaderCACycfc","interfaceLanguage":"swift"},"pathComponents":["Loader","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":113,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF","interfaceLanguage":"swift"},"pathComponents":["Loader","load(path:)"],"names":{"title":"load(path:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"load"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"functionSignature":{"parameters":[{"name":"path","declarationFragments":[{"kind":"identifier","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"load"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":115,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF","interfaceLanguage":"swift"},"pathComponents":["Loader","fetch(url:)"],"names":{"title":"fetch(url:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fetch"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"url","declarationFragments":[{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fetch"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":116,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF","interfaceLanguage":"swift"},"pathComponents":["Loader","wait(seconds:)"],"names":{"title":"wait(seconds:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wait"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"}]},"functionSignature":{"parameters":[{"name":"seconds","declarationFragments":[{"kind":"identifier","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wait"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":117,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF","interfaceLanguage":"swift"},"pathComponents":["Loader","transform(_:)"],"names":{"title":"transform(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transform"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"}]},"functionSignature":{"parameters":[{"name":"shape","declarationFragments":[{"kind":"identifier","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":0}],"constraints":[{"kind":"conformance","lhs":"T","rhs":"Shape","rhsPrecise":"s:9SwiftDemo5ShapeP"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transform"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":119,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF","interfaceLanguage":"swift"},"pathComponents":["Loader","first(of:)"],"names":{"title":"first(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Element"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"items","declarationFragments":[{"kind":"identifier","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Element"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"parameters":[{"name":"Element","index":0,"depth":0}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Element"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":120,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC14withCompletionyyys6ResultOySSAA10ShapeErrorOGcF","interfaceLanguage":"swift"},"pathComponents":["Loader","withCompletion(_:)"],"names":{"title":"withCompletion(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withCompletion"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"completion","declarationFragments":[{"kind":"identifier","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withCompletion"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":122,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4eachyyySiXEF","interfaceLanguage":"swift"},"pathComponents":["Loader","each(_:)"],"names":{"title":"each(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"each"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"body","declarationFragments":[{"kind":"identifier","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"each"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":123,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF","interfaceLanguage":"swift"},"pathComponents":["Loader","lookup(table:key:)"],"names":{"title":"lookup(table:key:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lookup"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"table","declarationFragments":[{"kind":"identifier","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},{"name":"key","declarationFragments":[{"kind":"identifier","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lookup"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":125,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC6updateyyAA5PointVzF","interfaceLanguage":"swift"},"pathComponents":["Loader","update(_:)"],"names":{"title":"update(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"point","declarationFragments":[{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"point"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":127,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC10modernOnlyyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","modernOnly()"],"names":{"title":"modernOnly()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"modernOnly"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"modernOnly"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":16,"minor":0}}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":130,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC11legacyFetchyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","legacyFetch()"],"names":{"title":"legacyFetch()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"legacyFetch"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"legacyFetch"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"*","message":"Use fetch(url:) instead","isUnconditionallyDeprecated":true}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":133,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC8oldFetchyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","oldFetch()"],"names":{"title":"oldFetch()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"oldFetch"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"oldFetch"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":15,"minor":0},"deprecated":{"major":17,"minor":0},"renamed":"fetch(url:)"}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":136,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo16makeDefaultPointAA0E0VyF","interfaceLanguage":"swift"},"pathComponents":["makeDefaultPoint()"],"names":{"title":"makeDefaultPoint()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeDefaultPoint"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeDefaultPoint"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":139,"character":12}}},{"kind":{"identifier":"swift.var","displayName":"Global Variable"},"identifier":{"precise":"s:9SwiftDemo13defaultFlavorAA0D0Ovp","interfaceLanguage":"swift"},"pathComponents":["defaultFlavor"],"names":{"title":"defaultFlavor","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"defaultFlavor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"defaultFlavor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":140,"character":11}}},{"kind":{"identifier":"swift.var","displayName":"Global Variable"},"identifier":{"precise":"s:9SwiftDemo13globalCounterSivp","interfaceLanguage":"swift"},"pathComponents":["globalCounter"],"names":{"title":"globalCounter","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"globalCounter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"globalCounter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":141,"character":11}}},{"kind":{"identifier":"swift.typealias","displayName":"Type Alias"},"identifier":{"precise":"s:9SwiftDemo11Coordinatesa","interfaceLanguage":"swift"},"pathComponents":["Coordinates"],"names":{"title":"Coordinates","navigator":[{"kind":"identifier","spelling":"Coordinates"}],"subHeading":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coordinates"}]},"declarationFragments":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coordinates"},{"kind":"text","spelling":" = (latitude"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", longitude"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":142,"character":17}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo11checkedSideyS2dKF","interfaceLanguage":"swift"},"pathComponents":["checkedSide(_:)"],"names":{"title":"checkedSide(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checkedSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checkedSide"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":5,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8echoInt8ys0D0VADF","interfaceLanguage":"swift"},"pathComponents":["echoInt8(_:)"],"names":{"title":"echoInt8(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoInt8"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoInt8"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":10,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10echoUInt64ys0D0VADF","interfaceLanguage":"swift"},"pathComponents":["echoUInt64(_:)"],"names":{"title":"echoUInt64(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoUInt64"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoUInt64"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":11,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10largestIntSiyF","interfaceLanguage":"swift"},"pathComponents":["largestInt()"],"names":{"title":"largestInt()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"largestInt"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"largestInt"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":12,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5shoutySSSgACF","interfaceLanguage":"swift"},"pathComponents":["shout(_:)"],"names":{"title":"shout(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":13,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7TrackerC","interfaceLanguage":"swift"},"pathComponents":["Tracker"],"names":{"title":"Tracker","navigator":[{"kind":"identifier","spelling":"Tracker"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Tracker"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Tracker"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":15,"character":19}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo7TrackerC9liveCountSivpZ","interfaceLanguage":"swift"},"pathComponents":["Tracker","liveCount"],"names":{"title":"liveCount","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"liveCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"liveCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":16,"character":35}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7TrackerC2idSivp","interfaceLanguage":"swift"},"pathComponents":["Tracker","id"],"names":{"title":"id","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":17,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7TrackerC2idACSi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Tracker","init(id:)"],"names":{"title":"init(id:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":19,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7TrackerC4sameACyF","interfaceLanguage":"swift"},"pathComponents":["Tracker","same()"],"names":{"title":"same()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":26,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo11delayedEcho_5afterS2S_SdtYaKF","interfaceLanguage":"swift"},"pathComponents":["delayedEcho(_:after:)"],"names":{"title":"delayedEcho(_:after:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delayedEcho"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"after","internalName":"seconds","declarationFragments":[{"kind":"identifier","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delayedEcho"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":29,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo16makeTrackerLater2idAA0D0CSi_tYaF","interfaceLanguage":"swift"},"pathComponents":["makeTrackerLater(id:)"],"names":{"title":"makeTrackerLater(id:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeTrackerLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeTrackerLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":35,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7PaletteC","interfaceLanguage":"swift"},"pathComponents":["Palette"],"names":{"title":"Palette","navigator":[{"kind":"identifier","spelling":"Palette"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Palette"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Palette"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":41,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PaletteC7strokesSivp","interfaceLanguage":"swift"},"pathComponents":["Palette","strokes"],"names":{"title":"strokes","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":42,"character":28}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PaletteCACycfc","interfaceLanguage":"swift"},"pathComponents":["Palette","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":43,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PaletteC6strokeSiyF","interfaceLanguage":"swift"},"pathComponents":["Palette","stroke()"],"names":{"title":"stroke()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stroke"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stroke"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":44,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PaletteC11strokeLaterSiyYaF","interfaceLanguage":"swift"},"pathComponents":["Palette","strokeLater()"],"names":{"title":"strokeLater()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokeLater"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokeLater"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":48,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5namesySaySSGSiF","interfaceLanguage":"swift"},"pathComponents":["names(_:)"],"names":{"title":"names(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":54,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5totalySdSaySdGF","interfaceLanguage":"swift"},"pathComponents":["total(_:)"],"names":{"title":"total(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"total"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"values","declarationFragments":[{"kind":"identifier","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"total"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":55,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8centroid2ofAA5PointVSayAEG_tF","interfaceLanguage":"swift"},"pathComponents":["centroid(of:)"],"names":{"title":"centroid(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"centroid"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"points","declarationFragments":[{"kind":"identifier","spelling":"points"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"centroid"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"points"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":56,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8mirroredySaySaySiGGADF","interfaceLanguage":"swift"},"pathComponents":["mirrored(_:)"],"names":{"title":"mirrored(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mirrored"},{"kind":"text","spelling":"([["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]) -> [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]},"functionSignature":{"parameters":[{"name":"grid","declarationFragments":[{"kind":"identifier","spelling":"grid"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]}],"returns":[{"kind":"text","spelling":"[["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mirrored"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"grid"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]) -> [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":57,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10wordCountsySDySSSiGSaySSGF","interfaceLanguage":"swift"},"pathComponents":["wordCounts(_:)"],"names":{"title":"wordCounts(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wordCounts"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"words","declarationFragments":[{"kind":"identifier","spelling":"words"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wordCounts"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"words"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":58,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7lengthsySDySSSiGSDyS2SGF","interfaceLanguage":"swift"},"pathComponents":["lengths(_:)"],"names":{"title":"lengths(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lengths"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"table","declarationFragments":[{"kind":"identifier","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lengths"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":61,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8trackersySayAA7TrackerCGSaySiGF","interfaceLanguage":"swift"},"pathComponents":["trackers(_:)"],"names":{"title":"trackers(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"trackers"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"ids","declarationFragments":[{"kind":"identifier","spelling":"ids"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"trackers"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"ids"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":62,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10allFlavorsSayAA6FlavorOGyF","interfaceLanguage":"swift"},"pathComponents":["allFlavors()"],"names":{"title":"allFlavors()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allFlavors"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allFlavors"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":63,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7nextDay5after10Foundation4DateVAF_tF","interfaceLanguage":"swift"},"pathComponents":["nextDay(after:)"],"names":{"title":"nextDay(after:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextDay"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]},"functionSignature":{"parameters":[{"name":"after","internalName":"date","declarationFragments":[{"kind":"identifier","spelling":"date"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextDay"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"date"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":64,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF","interfaceLanguage":"swift"},"pathComponents":["host(of:)"],"names":{"title":"host(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"host"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"url","declarationFragments":[{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"host"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":65,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7resolve_7against10Foundation3URLVSS_AFtF","interfaceLanguage":"swift"},"pathComponents":["resolve(_:against:)"],"names":{"title":"resolve(_:against:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resolve"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"against"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]},"functionSignature":{"parameters":[{"name":"path","declarationFragments":[{"kind":"identifier","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"against","internalName":"base","declarationFragments":[{"kind":"identifier","spelling":"base"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resolve"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"against"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"base"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":66,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8checksumySi10Foundation4DataVF","interfaceLanguage":"swift"},"pathComponents":["checksum(_:)"],"names":{"title":"checksum(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checksum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"parameters":[{"name":"data","declarationFragments":[{"kind":"identifier","spelling":"data"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checksum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"data"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":67,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4rampy10Foundation4DataVSiF","interfaceLanguage":"swift"},"pathComponents":["ramp(_:)"],"names":{"title":"ramp(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ramp"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ramp"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":68,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10namesLaterySaySSGSiYaF","interfaceLanguage":"swift"},"pathComponents":["namesLater(_:)"],"names":{"title":"namesLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"namesLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"namesLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":69,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9countdown4from_ySi_ySi_SbtXEtF","interfaceLanguage":"swift"},"pathComponents":["countdown(from:_:)"],"names":{"title":"countdown(from:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countdown"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"from"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"from","internalName":"start","declarationFragments":[{"kind":"identifier","spelling":"start"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},{"name":"tick","declarationFragments":[{"kind":"identifier","spelling":"tick"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countdown"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"from"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"start"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"tick"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":74,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10greetLater_10completionySSSg_yADYbctF","interfaceLanguage":"swift"},"pathComponents":["greetLater(_:completion:)"],"names":{"title":"greetLater(_:completion:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},{"name":"completion","declarationFragments":[{"kind":"identifier","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":80,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo8NotifierC","interfaceLanguage":"swift"},"pathComponents":["Notifier"],"names":{"title":"Notifier","navigator":[{"kind":"identifier","spelling":"Notifier"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Notifier"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Notifier"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":86,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo8NotifierCACycfc","interfaceLanguage":"swift"},"pathComponents":["Notifier","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":88,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo8NotifierC5countSivp","interfaceLanguage":"swift"},"pathComponents":["Notifier","count"],"names":{"title":"count","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":89,"character":15}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC9subscribeyyySSYbcF","interfaceLanguage":"swift"},"pathComponents":["Notifier","subscribe(_:)"],"names":{"title":"subscribe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribe"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"handler","declarationFragments":[{"kind":"identifier","spelling":"handler"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"handler"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":90,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC7publishyySSF","interfaceLanguage":"swift"},"pathComponents":["Notifier","publish(_:)"],"names":{"title":"publish(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publish"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publish"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":91,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC12publishLateryySSF","interfaceLanguage":"swift"},"pathComponents":["Notifier","publishLater(_:)"],"names":{"title":"publishLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publishLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publishLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":92,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC5clearyyF","interfaceLanguage":"swift"},"pathComponents":["Notifier","clear()"],"names":{"title":"clear()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":96,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4area2ofSdAA11MeasurementO_tF","interfaceLanguage":"swift"},"pathComponents":["area(of:)"],"names":{"title":"area(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"measurement","declarationFragments":[{"kind":"identifier","spelling":"measurement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"measurement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":99,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7measure_2byAA11MeasurementOSd_SdSgtF","interfaceLanguage":"swift"},"pathComponents":["measure(_:by:)"],"names":{"title":"measure(_:by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measure"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"functionSignature":{"parameters":[{"name":"width","declarationFragments":[{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"by","internalName":"height","declarationFragments":[{"kind":"identifier","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":106,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12measurementsSayAA11MeasurementOGyF","interfaceLanguage":"swift"},"pathComponents":["measurements()"],"names":{"title":"measurements()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measurements"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measurements"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":111,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF","interfaceLanguage":"swift"},"pathComponents":["measureLater(_:)"],"names":{"title":"measureLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measureLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"functionSignature":{"parameters":[{"name":"width","declarationFragments":[{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measureLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":113,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9onMeasureyyyAA11MeasurementOXEF","interfaceLanguage":"swift"},"pathComponents":["onMeasure(_:)"],"names":{"title":"onMeasure(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onMeasure"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"body","declarationFragments":[{"kind":"identifier","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onMeasure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":118,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7explainySSAA10ShapeErrorOF","interfaceLanguage":"swift"},"pathComponents":["explain(_:)"],"names":{"title":"explain(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"explain"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"error","declarationFragments":[{"kind":"identifier","spelling":"error"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"explain"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"error"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":120,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7FormulaO","interfaceLanguage":"swift"},"pathComponents":["Formula"],"names":{"title":"Formula","navigator":[{"kind":"identifier","spelling":"Formula"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Formula"}]},"declarationFragments":[{"kind":"keyword","spelling":"indirect"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Formula"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":128,"character":21}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO6numberyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","number(_:)"],"names":{"title":"Formula.number(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"number"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"number"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":129,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","sum(_:_:)"],"names":{"title":"Formula.sum(_:_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":130,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO6negateyA2CcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","negate(_:)"],"names":{"title":"Formula.negate(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"negate"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"negate"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":131,"character":9}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7FormulaO5valueSdvp","interfaceLanguage":"swift"},"pathComponents":["Formula","value"],"names":{"title":"value","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":133,"character":15}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8simplifyyAA7FormulaOADF","interfaceLanguage":"swift"},"pathComponents":["simplify(_:)"],"names":{"title":"simplify(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simplify"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]},"functionSignature":{"parameters":[{"name":"formula","declarationFragments":[{"kind":"identifier","spelling":"formula"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simplify"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"formula"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":142,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7PayloadO","interfaceLanguage":"swift"},"pathComponents":["Payload"],"names":{"title":"Payload","navigator":[{"kind":"identifier","spelling":"Payload"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Payload"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Payload"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":144,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","tracker(_:)"],"names":{"title":"Payload.tracker(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tracker"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tracker"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":145,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","point(_:)"],"names":{"title":"Payload.point(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":146,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","flavor(_:)"],"names":{"title":"Payload.flavor(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flavor"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flavor"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":147,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","maybe(_:)"],"names":{"title":"Payload.maybe(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maybe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?)"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maybe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?)"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":148,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","names(_:)"],"names":{"title":"Payload.names(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":149,"character":9}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4echoyAA7PayloadOADF","interfaceLanguage":"swift"},"pathComponents":["echo(_:)"],"names":{"title":"echo(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echo"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]},"functionSignature":{"parameters":[{"name":"payload","declarationFragments":[{"kind":"identifier","spelling":"payload"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echo"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"payload"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":152,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo3JobO","interfaceLanguage":"swift"},"pathComponents":["Job"],"names":{"title":"Job","navigator":[{"kind":"identifier","spelling":"Job"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Job"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Job"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":155,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo3JobO3runyACyyccACmF","interfaceLanguage":"swift"},"pathComponents":["Job","run(_:)"],"names":{"title":"Job.run(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"run"},{"kind":"text","spelling":"(() -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"run"},{"kind":"text","spelling":"(() -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":156,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo3JobO4idleyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Job","idle"],"names":{"title":"Job.idle","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"idle"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"idle"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":157,"character":9}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket"],"names":{"title":"Job.Ticket","navigator":[{"kind":"identifier","spelling":"Ticket"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ticket"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ticket"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":159,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV2idSivp","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket","id"],"names":{"title":"id","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":160,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV2idAESi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket","init(id:)"],"names":{"title":"init(id:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":161,"character":15}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4bumpyySizF","interfaceLanguage":"swift"},"pathComponents":["bump(_:)"],"names":{"title":"bump(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bump"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bump"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":165,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo6append_2toySS_SaySSGztF","interfaceLanguage":"swift"},"pathComponents":["append(_:to:)"],"names":{"title":"append(_:to:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"append"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}]},"functionSignature":{"parameters":[{"name":"word","declarationFragments":[{"kind":"identifier","spelling":"word"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"to","internalName":"words","declarationFragments":[{"kind":"identifier","spelling":"words"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"append"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"word"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"words"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":166,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5halveyySizKF","interfaceLanguage":"swift"},"pathComponents":["halve(_:)"],"names":{"title":"halve(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"halve"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"halve"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":167,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5clearyySSSgzF","interfaceLanguage":"swift"},"pathComponents":["clear(_:)"],"names":{"title":"clear(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?)"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?)"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":171,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12swapTrackersyyAA7TrackerCz_ADztF","interfaceLanguage":"swift"},"pathComponents":["swapTrackers(_:_:)"],"names":{"title":"swapTrackers(_:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapTrackers"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"a","declarationFragments":[{"kind":"identifier","spelling":"a"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},{"name":"b","declarationFragments":[{"kind":"identifier","spelling":"b"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapTrackers"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"a"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"b"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":172,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8describeySSSo6UIViewCF","interfaceLanguage":"swift"},"pathComponents":["describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"view","declarationFragments":[{"kind":"identifier","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":5,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9makeLabelySo7UILabelCSSF","interfaceLanguage":"swift"},"pathComponents":["makeLabel(_:)"],"names":{"title":"makeLabel(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeLabel"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeLabel"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":7,"character":23}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF","interfaceLanguage":"swift"},"pathComponents":["tags(_:)"],"names":{"title":"tags(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"views","declarationFragments":[{"kind":"identifier","spelling":"views"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"views"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":13,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF","interfaceLanguage":"swift"},"pathComponents":["firstSubview(of:)"],"names":{"title":"firstSubview(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"firstSubview"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"view","declarationFragments":[{"kind":"identifier","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"firstSubview"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":15,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"c:@M@SwiftDemo@objc(cs)Note","interfaceLanguage":"swift"},"pathComponents":["Note"],"names":{"title":"Note","navigator":[{"kind":"identifier","spelling":"Note"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":17,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4NoteC4textSSvp","interfaceLanguage":"swift"},"pathComponents":["Note","text"],"names":{"title":"text","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":18,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo4NoteC4textACSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Note","init(text:)"],"names":{"title":"init(text:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":19,"character":11}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8makeNoteyAA0D0CSSF","interfaceLanguage":"swift"},"pathComponents":["makeNote(_:)"],"names":{"title":"makeNote(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeNote"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeNote"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":22,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4text2ofSSAA4NoteC_tF","interfaceLanguage":"swift"},"pathComponents":["text(of:)"],"names":{"title":"text(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"note","declarationFragments":[{"kind":"identifier","spelling":"note"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"note"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":23,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9noteLateryAA4NoteCSSYaF","interfaceLanguage":"swift"},"pathComponents":["noteLater(_:)"],"names":{"title":"noteLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"noteLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"noteLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":25,"character":12}}}],"relationships":[{"kind":"requirementOf","source":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","target":"s:9SwiftDemo7GreeterP"},{"kind":"conformsTo","source":"s:9SwiftDemo0B0C","target":"s:9SwiftDemo7GreeterP"},{"kind":"memberOf","source":"s:9SwiftDemo0B0CACycfc","target":"s:9SwiftDemo0B0C"},{"kind":"memberOf","source":"s:9SwiftDemo0B0C5greet4nameS2S_tF","target":"s:9SwiftDemo0B0C","sourceOrigin":{"identifier":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","displayName":"Greeter.greet(name:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1xSdvp","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1ySdvp","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1x1yACSd_Sdtcfc","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO7vanillayA2CmF","target":"s:9SwiftDemo6FlavorO"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO9chocolateyA2CmF","target":"s:9SwiftDemo6FlavorO"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:9SwiftDemo0B0C5greet4name5timesS2S_SitF","target":"s:9SwiftDemo0B0C"},{"kind":"memberOf","source":"s:9SwiftDemo0B0C7versionSSvpZ","target":"s:9SwiftDemo0B0C"},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s9EscapableP","targetFallback":"Swift.Escapable"},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s8CopyableP","targetFallback":"Swift.Copyable"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV11descriptionSSvp","target":"s:9SwiftDemo5PointV","sourceOrigin":{"identifier":"s:s23CustomStringConvertibleP11descriptionSSvp","displayName":"CustomStringConvertible.description"}},{"kind":"memberOf","source":"s:9SwiftDemo5PointV6lengthSdvp","target":"s:9SwiftDemo5PointV"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s9EscapableP","targetFallback":"Swift.Escapable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s8CopyableP","targetFallback":"Swift.Copyable"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO11descriptionSSvp","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:s23CustomStringConvertibleP11descriptionSSvp","displayName":"CustomStringConvertible.description"}},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF","target":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF","target":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp","target":"s:9SwiftDemo7PolygonC7MetricsV"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc","target":"s:9SwiftDemo7PolygonC7MetricsV"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5styleAC5StyleOvp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"conformsTo","source":"s:9SwiftDemo5ShapeP","target":"s:9SwiftDemo7GreeterP"},{"kind":"requirementOf","source":"s:9SwiftDemo5ShapeP4areaSdvp","target":"s:9SwiftDemo5ShapeP"},{"kind":"requirementOf","source":"s:9SwiftDemo5ShapeP5sidesSivpZ","target":"s:9SwiftDemo5ShapeP"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4nameSSvp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC11vertexCountSivp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC6sharedACvpZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4nameACSgSS_tcfc","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale2byySd_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale2byySi_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4makeACyFZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC8describeySSACSgFZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonCyAA5PointVSicip","target":"s:9SwiftDemo7PolygonC"},{"kind":"conformsTo","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo5ShapeP"},{"kind":"conformsTo","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo7GreeterP"},{"kind":"inheritsFrom","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4sideSdvp","target":"s:9SwiftDemo6SquareC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4sideACSd_tcfc","target":"s:9SwiftDemo6SquareC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4areaSdvp","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo5ShapeP4areaSdvp","displayName":"Shape.area"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5sidesSivpZ","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo5ShapeP5sidesSivpZ","displayName":"Shape.sides"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5greet4nameS2S_tF","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","displayName":"Greeter.greet(name:)"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5scale2byySd_tF","target":"s:9SwiftDemo6SquareC"},{"kind":"overrides","source":"s:9SwiftDemo6SquareC5scale2byySd_tF","target":"s:9SwiftDemo7PolygonC5scale2byySd_tF"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4rainyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4snowyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4noneyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO","target":"s:9SwiftDemo10ShapeErrorO","sourceOrigin":{"identifier":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp","displayName":"Error.localizedDescription"}},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s5ErrorP","targetFallback":"Swift.Error"},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO7unknownyA2CmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO6lengthyACSdcACmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4noneyA2CmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp","target":"s:9SwiftDemo11MeasurementO4UnitV"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc","target":"s:9SwiftDemo11MeasurementO4UnitV"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO6isNoneSbvp","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5innerAA5PointVvp","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5outerAA5PointVvp","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV6expand2byySd_tF","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV1poiyA2C_ACtFZ","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF","displayName":"Actor.withSerialExecutor(_:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF","displayName":"Actor.withSerialExecutor(_:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF","displayName":"Actor.preconditionIsolated(_:file:line:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF","displayName":"Actor.assertIsolated(_:file:line:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF","displayName":"Actor.assumeIsolated(_:file:line:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:ScA","targetFallback":"_Concurrency.Actor"},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC5valueSivp","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC4stepSivp","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterCACycfc","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC9incrementSiyF","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC5labelSSyF","target":"s:9SwiftDemo7CounterC"},{"kind":"conformsTo","source":"s:9SwiftDemo6CanvasC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"memberOf","source":"s:9SwiftDemo6CanvasCACycfc","target":"s:9SwiftDemo6CanvasC"},{"kind":"memberOf","source":"s:9SwiftDemo6CanvasC4drawyyAA5Shape_pF","target":"s:9SwiftDemo6CanvasC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderCACycfc","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC14withCompletionyyys6ResultOySSAA10ShapeErrorOGcF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4eachyyySiXEF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC6updateyyAA5PointVzF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC10modernOnlyyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC11legacyFetchyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC8oldFetchyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC9liveCountSivpZ","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC2idSivp","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC2idACSi_tcfc","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC4sameACyF","target":"s:9SwiftDemo7TrackerC"},{"kind":"conformsTo","source":"s:9SwiftDemo7PaletteC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC7strokesSivp","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteCACycfc","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC6strokeSiyF","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC11strokeLaterSiyYaF","target":"s:9SwiftDemo7PaletteC"},{"kind":"conformsTo","source":"s:9SwiftDemo8NotifierC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo8NotifierC","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierCACycfc","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC5countSivp","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC9subscribeyyySSYbcF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC7publishyySSF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC12publishLateryySSF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC5clearyyF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO6numberyACSdcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO6negateyA2CcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO5valueSdvp","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO3runyACyyccACmF","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO4idleyA2CmF","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV2idSivp","target":"s:9SwiftDemo3JobO6TicketV"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV2idAESi_tcfc","target":"s:9SwiftDemo3JobO6TicketV"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"c:objc(pl)NSObject","targetFallback":"ObjectiveC.NSObjectProtocol"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s7CVarArgP","targetFallback":"Swift.CVarArg"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s28CustomDebugStringConvertibleP","targetFallback":"Swift.CustomDebugStringConvertible"},{"kind":"inheritsFrom","source":"c:@M@SwiftDemo@objc(cs)Note","target":"c:objc(cs)NSObject","targetFallback":"ObjectiveC.NSObject"},{"kind":"memberOf","source":"s:9SwiftDemo4NoteC4textSSvp","target":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"memberOf","source":"s:9SwiftDemo4NoteC4textACSS_tcfc","target":"c:@M@SwiftDemo@objc(cs)Note"}]} \ No newline at end of file +{"metadata":{"formatVersion":{"major":0,"minor":6,"patch":0},"generator":"Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)"},"module":{"name":"SwiftDemo","platform":{"architecture":"arm64","environment":"simulator","vendor":"apple","operatingSystem":{"name":"ios","minimumVersion":{"major":15,"minor":0}}}},"symbols":[{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo7GreeterP","interfaceLanguage":"swift"},"pathComponents":["Greeter"],"names":{"title":"Greeter","navigator":[{"kind":"identifier","spelling":"Greeter"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeter"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeter"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":0,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Greeter","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":1,"character":9}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo0B0C","interfaceLanguage":"swift"},"pathComponents":["Demo"],"names":{"title":"Demo","navigator":[{"kind":"identifier","spelling":"Demo"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Demo"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Demo"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":4,"character":13}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo0B0CACycfc","interfaceLanguage":"swift"},"pathComponents":["Demo","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":5,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo0B0C5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Demo","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":6,"character":16}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo5PointV","interfaceLanguage":"swift"},"pathComponents":["Point"],"names":{"title":"Point","navigator":[{"kind":"identifier","spelling":"Point"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Point"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Point"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":9,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV1xSdvp","interfaceLanguage":"swift"},"pathComponents":["Point","x"],"names":{"title":"x","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":10,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV1ySdvp","interfaceLanguage":"swift"},"pathComponents":["Point","y"],"names":{"title":"y","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":11,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo5PointV1x1yACSd_Sdtcfc","interfaceLanguage":"swift"},"pathComponents":["Point","init(x:y:)"],"names":{"title":"init(x:y:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"x","declarationFragments":[{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"y","declarationFragments":[{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":12,"character":11}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor"],"names":{"title":"Flavor","navigator":[{"kind":"identifier","spelling":"Flavor"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Flavor"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Flavor"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo6FlavorO7vanillayA2CmF","interfaceLanguage":"swift"},"pathComponents":["Flavor","vanilla"],"names":{"title":"Flavor.vanilla","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vanilla"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vanilla"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":31}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo6FlavorO9chocolateyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Flavor","chocolate"],"names":{"title":"Flavor.chocolate","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"chocolate"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"chocolate"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":44}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Flavor","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo0B0C5greet4name5timesS2S_SitF","interfaceLanguage":"swift"},"pathComponents":["Demo","greet(name:times:)"],"names":{"title":"greet(name:times:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"times","declarationFragments":[{"kind":"identifier","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":1,"character":16}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo0B0C7versionSSvpZ","interfaceLanguage":"swift"},"pathComponents":["Demo","version"],"names":{"title":"version","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":5,"character":22}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV11descriptionSSvp","interfaceLanguage":"swift"},"pathComponents":["Point","description"],"names":{"title":"description","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":9,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV6lengthSdvp","interfaceLanguage":"swift"},"pathComponents":["Point","length"],"names":{"title":"length","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":10,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6FlavorO11descriptionSSvp","interfaceLanguage":"swift"},"pathComponents":["Flavor","description"],"names":{"title":"description","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.enum"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":14,"character":15}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style"],"names":{"title":"Polygon.Style","navigator":[{"kind":"identifier","spelling":"Style"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Style"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Style"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","solid"],"names":{"title":"Polygon.Style.solid","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"solid"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"solid"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":37}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","dashed"],"names":{"title":"Polygon.Style.dashed","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dashed"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dashed"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":44}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics"],"names":{"title":"Polygon.Metrics","navigator":[{"kind":"identifier","spelling":"Metrics"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Metrics"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Metrics"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":33,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics","perimeter"],"names":{"title":"perimeter","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":34,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics","init(perimeter:)"],"names":{"title":"init(perimeter:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"perimeter","declarationFragments":[{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":35,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5styleAC5StyleOvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","style"],"names":{"title":"style","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"style"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Style","preciseIdentifier":"s:9SwiftDemo7PolygonC5StyleO"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"style"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Style","preciseIdentifier":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":38,"character":15}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","metrics(side:)"],"names":{"title":"metrics(side:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"metrics"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"."},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"metrics"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":39,"character":16}}},{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo8GreetingP","interfaceLanguage":"swift"},"pathComponents":["Greeting"],"names":{"title":"Greeting","navigator":[{"kind":"identifier","spelling":"Greeting"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeting"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeting"},{"kind":"text","spelling":" : AnyObject"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":2,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo8GreetingP4nameSSvp","interfaceLanguage":"swift"},"pathComponents":["Greeting","name"],"names":{"title":"name","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":3,"character":8}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo8GreetingP11punctuationSSvp","interfaceLanguage":"swift"},"pathComponents":["Greeting","punctuation"],"names":{"title":"punctuation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"punctuation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"punctuation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"set"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":4,"character":8}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8GreetingP5greetyS2SF","interfaceLanguage":"swift"},"pathComponents":["Greeting","greet(_:)"],"names":{"title":"greet(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":5,"character":9}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8GreetingP5resetyyF","interfaceLanguage":"swift"},"pathComponents":["Greeting","reset()"],"names":{"title":"reset()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"reset"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"reset"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":6,"character":9}}},{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo6ScorerP","interfaceLanguage":"swift"},"pathComponents":["Scorer"],"names":{"title":"Scorer","navigator":[{"kind":"identifier","spelling":"Scorer"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Scorer"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Scorer"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":9,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6ScorerP5scoreyS2iKF","interfaceLanguage":"swift"},"pathComponents":["Scorer","score(_:)"],"names":{"title":"score(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"score"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"score"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":10,"character":9}}},{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo12RankedScorerP","interfaceLanguage":"swift"},"pathComponents":["RankedScorer"],"names":{"title":"RankedScorer","navigator":[{"kind":"identifier","spelling":"RankedScorer"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RankedScorer"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RankedScorer"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":14,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo12RankedScorerP4rankSiSgvp","interfaceLanguage":"swift"},"pathComponents":["RankedScorer","rank"],"names":{"title":"rank","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rank"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rank"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"? { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":15,"character":8}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8GreetingPAAE5shoutyS2SF","interfaceLanguage":"swift"},"pathComponents":["Greeting","shout(_:)"],"names":{"title":"shout(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":19,"character":16}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting"],"names":{"title":"FormalGreeting","navigator":[{"kind":"identifier","spelling":"FormalGreeting"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FormalGreeting"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FormalGreeting"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":22,"character":19}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8GreetingPAAE5shoutyS2SF::SYNTHESIZED::s:9SwiftDemo14FormalGreetingC","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","shout(_:)"],"names":{"title":"shout(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":19,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC4nameSSvp","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","name"],"names":{"title":"name","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":23,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC11punctuationSSvp","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","punctuation"],"names":{"title":"punctuation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"punctuation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"punctuation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":24,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC4nameACSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","init(name:)"],"names":{"title":"init(name:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":25,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC5greetyS2SF","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","greet(_:)"],"names":{"title":"greet(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":26,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC5resetyyF","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","reset()"],"names":{"title":"reset()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"reset"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"reset"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":27,"character":16}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo14DoublingScorerV","interfaceLanguage":"swift"},"pathComponents":["DoublingScorer"],"names":{"title":"DoublingScorer","navigator":[{"kind":"identifier","spelling":"DoublingScorer"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"DoublingScorer"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"DoublingScorer"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":30,"character":14}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo14DoublingScorerVACycfc","interfaceLanguage":"swift"},"pathComponents":["DoublingScorer","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":31,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo14DoublingScorerV5scoreyS2iF","interfaceLanguage":"swift"},"pathComponents":["DoublingScorer","score(_:)"],"names":{"title":"score(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"score"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"score"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":32,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9introduce_2toSSAA8Greeting_p_SStF","interfaceLanguage":"swift"},"pathComponents":["introduce(_:to:)"],"names":{"title":"introduce(_:to:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"introduce"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"greeting","declarationFragments":[{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]},{"name":"to","internalName":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"introduce"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":35,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12makeGreetingyAA0D0_pSSF","interfaceLanguage":"swift"},"pathComponents":["makeGreeting(_:)"],"names":{"title":"makeGreeting(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeGreeting"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"any "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeGreeting"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":39,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4sameyAA8Greeting_pAaC_pF","interfaceLanguage":"swift"},"pathComponents":["same(_:)"],"names":{"title":"same(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":") -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]},"functionSignature":{"parameters":[{"name":"greeting","declarationFragments":[{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]}],"returns":[{"kind":"text","spelling":"any "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":") -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":40,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo6exciteyyAA8Greeting_pF","interfaceLanguage":"swift"},"pathComponents":["excite(_:)"],"names":{"title":"excite(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"excite"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"greeting","declarationFragments":[{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"excite"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":41,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8scoreAllySaySiGAA6Scorer_p_ACtKF","interfaceLanguage":"swift"},"pathComponents":["scoreAll(_:_:)"],"names":{"title":"scoreAll(_:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scoreAll"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"},{"kind":"text","spelling":", ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"scorer","declarationFragments":[{"kind":"identifier","spelling":"scorer"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"}]},{"name":"values","declarationFragments":[{"kind":"identifier","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scoreAll"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"scorer"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":42,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10makeScorerAA0D0_pyF","interfaceLanguage":"swift"},"pathComponents":["makeScorer()"],"names":{"title":"makeScorer()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeScorer"},{"kind":"text","spelling":"() -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"any "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeScorer"},{"kind":"text","spelling":"() -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":45,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7topRankySSAA12RankedScorer_pKF","interfaceLanguage":"swift"},"pathComponents":["topRank(_:)"],"names":{"title":"topRank(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"topRank"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"RankedScorer","preciseIdentifier":"s:9SwiftDemo12RankedScorerP"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"scorer","declarationFragments":[{"kind":"identifier","spelling":"scorer"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"RankedScorer","preciseIdentifier":"s:9SwiftDemo12RankedScorerP"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"topRank"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"scorer"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"RankedScorer","preciseIdentifier":"s:9SwiftDemo12RankedScorerP"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":46,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo17greetInBackgroundySSAA8Greeting_pYaF","interfaceLanguage":"swift"},"pathComponents":["greetInBackground(_:)"],"names":{"title":"greetInBackground(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetInBackground"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"greeting","declarationFragments":[{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetInBackground"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":55,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo14GreetingHolderC","interfaceLanguage":"swift"},"pathComponents":["GreetingHolder"],"names":{"title":"GreetingHolder","navigator":[{"kind":"identifier","spelling":"GreetingHolder"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"GreetingHolder"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"GreetingHolder"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":60,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo14GreetingHolderC8greetingAA0C0_pSgvp","interfaceLanguage":"swift"},"pathComponents":["GreetingHolder","greeting"],"names":{"title":"greeting","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":")?"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":")?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":61,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo14GreetingHolderCACycfc","interfaceLanguage":"swift"},"pathComponents":["GreetingHolder","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":62,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo14GreetingHolderC5greetySSSgSSF","interfaceLanguage":"swift"},"pathComponents":["GreetingHolder","greet(_:)"],"names":{"title":"greet(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":63,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF","interfaceLanguage":"swift"},"pathComponents":["starterWallet(for:)"],"names":{"title":"starterWallet(for:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"starterWallet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"for"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}]},"functionSignature":{"parameters":[{"name":"for","internalName":"owner","declarationFragments":[{"kind":"identifier","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"starterWallet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"for"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":4,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF","interfaceLanguage":"swift"},"pathComponents":["sum(of:)"],"names":{"title":"sum(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"amounts","declarationFragments":[{"kind":"identifier","spelling":"amounts"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"amounts"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":10,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4flipy0aB3Kit4CoinOAEF","interfaceLanguage":"swift"},"pathComponents":["flip(_:)"],"names":{"title":"flip(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flip"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]},"functionSignature":{"parameters":[{"name":"coin","declarationFragments":[{"kind":"identifier","spelling":"coin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flip"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"coin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":14,"character":12}}},{"kind":{"identifier":"swift.typealias","displayName":"Type Alias"},"identifier":{"precise":"s:9SwiftDemo5Scorea","interfaceLanguage":"swift"},"pathComponents":["Score"],"names":{"title":"Score","navigator":[{"kind":"identifier","spelling":"Score"}],"subHeading":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Score"}]},"declarationFragments":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Score"},{"kind":"text","spelling":" = "},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":25,"character":17}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9makeScorey0aB3Kit4PairVySSSiGSS_SitF","interfaceLanguage":"swift"},"pathComponents":["makeScore(_:_:)"],"names":{"title":"makeScore(_:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeScore"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Score","preciseIdentifier":"s:9SwiftDemo5Scorea"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"points","declarationFragments":[{"kind":"identifier","spelling":"points"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Score","preciseIdentifier":"s:9SwiftDemo5Scorea"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeScore"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"points"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Score","preciseIdentifier":"s:9SwiftDemo5Scorea"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":27,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8describeySS0aB3Kit4PairVySiSSGF","interfaceLanguage":"swift"},"pathComponents":["describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"pair","declarationFragments":[{"kind":"identifier","spelling":"pair"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":">"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"pair"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":28,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5boxedy0aB3Kit3BoxCyAC5MoneyVGAGF","interfaceLanguage":"swift"},"pathComponents":["boxed(_:)"],"names":{"title":"boxed(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"boxed"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":">"}]},"functionSignature":{"parameters":[{"name":"money","declarationFragments":[{"kind":"identifier","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":">"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"boxed"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":29,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8countBoxy0aB3Kit0D0CySiGSiF","interfaceLanguage":"swift"},"pathComponents":["countBox(_:)"],"names":{"title":"countBox(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countBox"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countBox"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":30,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo6settley0aB3Kit7OutcomeOySiGSiF","interfaceLanguage":"swift"},"pathComponents":["settle(_:)"],"names":{"title":"settle(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settle"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Outcome","preciseIdentifier":"s:12SwiftDemoKit7OutcomeO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Outcome","preciseIdentifier":"s:12SwiftDemoKit7OutcomeO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settle"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Outcome","preciseIdentifier":"s:12SwiftDemoKit7OutcomeO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":31,"character":12}}},{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo5ShapeP","interfaceLanguage":"swift"},"pathComponents":["Shape"],"names":{"title":"Shape","navigator":[{"kind":"identifier","spelling":"Shape"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Shape"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Shape"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Greeter","preciseIdentifier":"s:9SwiftDemo7GreeterP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":2,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5ShapeP4areaSdvp","interfaceLanguage":"swift"},"pathComponents":["Shape","area"],"names":{"title":"area","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":3,"character":8}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo5ShapeP5sidesSivpZ","interfaceLanguage":"swift"},"pathComponents":["Shape","sides"],"names":{"title":"sides","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":4,"character":15}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7PolygonC","interfaceLanguage":"swift"},"pathComponents":["Polygon"],"names":{"title":"Polygon","navigator":[{"kind":"identifier","spelling":"Polygon"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Polygon"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Polygon"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":7,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4nameSSvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","name"],"names":{"title":"name","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":8,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC11vertexCountSivp","interfaceLanguage":"swift"},"pathComponents":["Polygon","vertexCount"],"names":{"title":"vertexCount","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":9,"character":28}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC6sharedACvpZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","shared"],"names":{"title":"shared","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shared"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shared"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":10,"character":22}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","init(name:vertexCount:)"],"names":{"title":"init(name:vertexCount:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"vertexCount","declarationFragments":[{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":12,"character":11}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4nameACSgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","init(name:)"],"names":{"title":"init(name:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"convenience"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":17,"character":23}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":22,"character":14}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale2byySi_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":23,"character":14}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(x:y:)"],"names":{"title":"scale(x:y:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"x","declarationFragments":[{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"y","declarationFragments":[{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":24,"character":16}}},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4makeACyFZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","make()"],"names":{"title":"make()","subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"make"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"make"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":26,"character":22}}},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC8describeySSACSgFZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"polygon","declarationFragments":[{"kind":"identifier","spelling":"polygon"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"polygon"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":27,"character":23}}},{"kind":{"identifier":"swift.subscript","displayName":"Instance Subscript"},"identifier":{"precise":"s:9SwiftDemo7PolygonCyAA5PointVSicip","interfaceLanguage":"swift"},"pathComponents":["Polygon","subscript(_:)"],"names":{"title":"subscript(_:)","subHeading":[{"kind":"keyword","spelling":"subscript"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"parameters":[{"name":"index","declarationFragments":[{"kind":"identifier","spelling":"index"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"subscript"},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"index"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":29,"character":11}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6SquareC","interfaceLanguage":"swift"},"pathComponents":["Square"],"names":{"title":"Square","navigator":[{"kind":"identifier","spelling":"Square"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Square"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Square"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":34,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC4sideSdvp","interfaceLanguage":"swift"},"pathComponents":["Square","side"],"names":{"title":"side","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":35,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6SquareC4sideACSd_tcfc","interfaceLanguage":"swift"},"pathComponents":["Square","init(side:)"],"names":{"title":"init(side:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":37,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC4areaSdvp","interfaceLanguage":"swift"},"pathComponents":["Square","area"],"names":{"title":"area","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":42,"character":15}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC5sidesSivpZ","interfaceLanguage":"swift"},"pathComponents":["Square","sides"],"names":{"title":"sides","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":43,"character":22}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6SquareC5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Square","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":44,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6SquareC5scale2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Square","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"override"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":46,"character":25}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation"],"names":{"title":"Precipitation","navigator":[{"kind":"identifier","spelling":"Precipitation"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Precipitation"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Precipitation"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":50,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4rainyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","rain"],"names":{"title":"Precipitation.rain","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rain"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rain"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4snowyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","snow"],"names":{"title":"Precipitation.snow","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"snow"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"snow"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":15}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4noneyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","none"],"names":{"title":"Precipitation.none","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":21}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Precipitation","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO","interfaceLanguage":"swift"},"pathComponents":["ShapeError"],"names":{"title":"ShapeError","navigator":[{"kind":"identifier","spelling":"ShapeError"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ShapeError"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ShapeError"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":54,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO","interfaceLanguage":"swift"},"pathComponents":["ShapeError","localizedDescription"],"names":{"title":"localizedDescription","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localizedDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"docComment":{"module":"Foundation","lines":[{"text":"Retrieve the localized description for this error."}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localizedDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":8,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":10}},{"domain":"tvOS","introduced":{"major":9,"minor":0}},{"domain":"watchOS","introduced":{"major":2,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","invalidSide(_:)"],"names":{"title":"ShapeError.invalidSide(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":55,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","tooManySides(count:limit:)"],"names":{"title":"ShapeError.tooManySides(count:limit:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tooManySides"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tooManySides"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":56,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO7unknownyA2CmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","unknown"],"names":{"title":"ShapeError.unknown","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unknown"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unknown"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":57,"character":9}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO","interfaceLanguage":"swift"},"pathComponents":["Measurement"],"names":{"title":"Measurement","navigator":[{"kind":"identifier","spelling":"Measurement"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Measurement"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Measurement"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":60,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO6lengthyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","length(_:)"],"names":{"title":"Measurement.length(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":61,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","area(width:height:)"],"names":{"title":"Measurement.area(width:height:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":62,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4noneyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","none"],"names":{"title":"Measurement.none","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":63,"character":9}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit"],"names":{"title":"Measurement.Unit","navigator":[{"kind":"identifier","spelling":"Unit"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Unit"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Unit"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":65,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit","symbol"],"names":{"title":"symbol","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":66,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit","init(symbol:)"],"names":{"title":"init(symbol:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"symbol","declarationFragments":[{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":67,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO6isNoneSbvp","interfaceLanguage":"swift"},"pathComponents":["Measurement","isNone"],"names":{"title":"isNone","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isNone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isNone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":70,"character":15}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo4RingV","interfaceLanguage":"swift"},"pathComponents":["Ring"],"names":{"title":"Ring","navigator":[{"kind":"identifier","spelling":"Ring"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ring"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ring"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":76,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4RingV5innerAA5PointVvp","interfaceLanguage":"swift"},"pathComponents":["Ring","inner"],"names":{"title":"inner","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":77,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4RingV5outerAA5PointVvp","interfaceLanguage":"swift"},"pathComponents":["Ring","outer"],"names":{"title":"outer","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":78,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc","interfaceLanguage":"swift"},"pathComponents":["Ring","init(inner:outer:)"],"names":{"title":"init(inner:outer:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"inner","declarationFragments":[{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},{"name":"outer","declarationFragments":[{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":80,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo4RingV6expand2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Ring","expand(by:)"],"names":{"title":"expand(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"delta","declarationFragments":[{"kind":"identifier","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"mutating"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":85,"character":25}}},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:9SwiftDemo4RingV1poiyA2C_ACtFZ","interfaceLanguage":"swift"},"pathComponents":["Ring","+(_:_:)"],"names":{"title":"+(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"+"},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"+"},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":90,"character":23}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter"],"names":{"title":"Counter","navigator":[{"kind":"identifier","spelling":"Counter"}],"subHeading":[{"kind":"keyword","spelling":"actor"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Counter"}]},"declarationFragments":[{"kind":"keyword","spelling":"actor"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Counter"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":95,"character":13}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","withSerialExecutor(_:)"],"names":{"title":"withSerialExecutor(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">((any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Perform an operation with the actor's ``SerialExecutor``."},{"text":""},{"text":"This converts the actor's ``Actor/unownedExecutor`` to a ``SerialExecutor`` while"},{"text":"retaining the actor for the duration of the operation. This is to ensure the lifetime"},{"text":"of the executor while performing the operation."}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1},{"name":"E","index":1,"depth":1}],"constraints":[{"kind":"conformance","lhs":"E","rhs":"Error","rhsPrecise":"s:s5ErrorP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Error","preciseIdentifier":"s:s5ErrorP"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : ~Copyable"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","withSerialExecutor(_:)"],"names":{"title":"withSerialExecutor(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"keyword","spelling":"nonisolated(nonsending)"},{"kind":"text","spelling":" (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Perform an operation with the actor's ``SerialExecutor``."},{"text":""},{"text":"This converts the actor's ``Actor/unownedExecutor`` to a ``SerialExecutor`` while"},{"text":"retaining the actor for the duration of the operation. This is to ensure the lifetime"},{"text":"of the executor while performing the operation."}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1},{"name":"E","index":1,"depth":1}],"constraints":[{"kind":"conformance","lhs":"E","rhs":"Error","rhsPrecise":"s:s5ErrorP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"nonisolated(nonsending)"},{"kind":"text","spelling":" (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Error","preciseIdentifier":"s:s5ErrorP"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : ~Copyable"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","preconditionIsolated(_:file:line:)"],"names":{"title":"preconditionIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preconditionIsolated"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":")"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Stops program execution if the current task is not executing on this"},{"text":"actor's serial executor."},{"text":""},{"text":"This function's effect varies depending on the build flag used:"},{"text":""},{"text":"* In playgrounds and `-Onone` builds (the default for Xcode's Debug"},{"text":" configuration), stops program execution in a debuggable state after"},{"text":" printing `message`."},{"text":""},{"text":"* In `-O` builds (the default for Xcode's Release configuration), stops"},{"text":" program execution."},{"text":""},{"text":"- Note: Because this check is performed against the actor's serial executor,"},{"text":" if another actor uses the same serial executor--by using"},{"text":" that actor's serial executor as its own ``Actor/unownedExecutor``--this"},{"text":" check will succeed. From a concurrency safety perspective, the"},{"text":" serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - message: The message to print if the assertion fails."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": () -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"text","spelling":"@backDeployed(before: macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0)\n"},{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preconditionIsolated"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" = String(), "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","assertIsolated(_:file:line:)"],"names":{"title":"assertIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assertIsolated"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":")"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Stops program execution if the current task is not executing on this"},{"text":"actor's serial executor."},{"text":""},{"text":"This function's effect varies depending on the build flag used:"},{"text":""},{"text":"* In playgrounds and `-Onone` builds (the default for Xcode's Debug"},{"text":" configuration), stops program execution in a debuggable state after"},{"text":" printing `message`."},{"text":""},{"text":"* In `-O` builds (the default for Xcode's Release configuration),"},{"text":" the isolation check is not performed and there are no effects."},{"text":""},{"text":"- Note: This check is performed against the actor's serial executor,"},{"text":" meaning that / if another actor uses the same serial executor--by using"},{"text":" that actor's serial executor as its own ``Actor/unownedExecutor``--this"},{"text":" check will succeed , as from a concurrency safety perspective, the"},{"text":" serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - message: The message to print if the assertion fails."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": () -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"text","spelling":"@backDeployed(before: macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0)\n"},{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assertIsolated"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" = String(), "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","assumeIsolated(_:file:line:)"],"names":{"title":"assumeIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assumeIsolated"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">(("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"rethrows"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Assume that the current task is executing on this actor's serial executor,"},{"text":"or stop program execution otherwise."},{"text":""},{"text":"You call this method to *assume and verify* that the currently"},{"text":"executing synchronous function is actually executing on the serial"},{"text":"executor of this actor."},{"text":""},{"text":"If that is the case, the operation is invoked with an `isolated` version"},{"text":"of the actor, allowing synchronous access to actor local state without"},{"text":"hopping through asynchronous boundaries."},{"text":""},{"text":"If the current context is not running on the actor's serial executor, or"},{"text":"if the actor is a reference to a remote actor, this method will crash"},{"text":"with a fatal error (similar to ``preconditionIsolated(_:file:line:)``)."},{"text":""},{"text":"Note that this check is performed against the passed in actor's serial"},{"text":"executor, meaning that if another actor uses the same serial executor--by"},{"text":"using that actor's ``Actor/unownedExecutor`` as its own"},{"text":"``Actor/unownedExecutor``--this check will succeed, as from a concurrency"},{"text":"safety perspective, the serial executor guarantees mutual exclusion of"},{"text":"those two actors."},{"text":""},{"text":"This method can only be used from synchronous functions, as asynchronous"},{"text":"functions should instead perform a normal method call to the actor, which"},{"text":"will hop task execution to the target actor if necessary."},{"text":""},{"text":"- Note: This check is performed against the actor's serial executor,"},{"text":" meaning that / if another actor uses the same serial executor--by using"},{"text":" another actor's executor as its own ``Actor/unownedExecutor``"},{"text":" --this check will succeed , as from a concurrency safety perspective,"},{"text":" the serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - operation: the operation that will be executed if the current context"},{"text":" is executing on the actors serial executor."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."},{"text":"- Returns: the return value of the `operation`"},{"text":"- Throws: rethrows the `Error` thrown by the operation if it threw"}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1}],"constraints":[{"kind":"conformance","lhs":"T","rhs":"Sendable","rhsPrecise":"s:s8SendableP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assumeIsolated"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"rethrows"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Sendable","preciseIdentifier":"s:s8SendableP"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7CounterC5valueSivp","interfaceLanguage":"swift"},"pathComponents":["Counter","value"],"names":{"title":"value","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":96,"character":28}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7CounterC4stepSivp","interfaceLanguage":"swift"},"pathComponents":["Counter","step"],"names":{"title":"step","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"step"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"step"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":97,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7CounterCACycfc","interfaceLanguage":"swift"},"pathComponents":["Counter","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":98,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7CounterC9incrementSiyF","interfaceLanguage":"swift"},"pathComponents":["Counter","increment()"],"names":{"title":"increment()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"increment"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"increment"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":99,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7CounterC5labelSSyF","interfaceLanguage":"swift"},"pathComponents":["Counter","label()"],"names":{"title":"label()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":103,"character":28}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6CanvasC","interfaceLanguage":"swift"},"pathComponents":["Canvas"],"names":{"title":"Canvas","navigator":[{"kind":"identifier","spelling":"Canvas"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Canvas"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Canvas"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":107,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6CanvasCACycfc","interfaceLanguage":"swift"},"pathComponents":["Canvas","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":108,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6CanvasC4drawyyAA5Shape_pF","interfaceLanguage":"swift"},"pathComponents":["Canvas","draw(_:)"],"names":{"title":"draw(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draw"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"shape","declarationFragments":[{"kind":"identifier","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draw"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":109,"character":16}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6LoaderC","interfaceLanguage":"swift"},"pathComponents":["Loader"],"names":{"title":"Loader","navigator":[{"kind":"identifier","spelling":"Loader"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Loader"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Loader"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":112,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6LoaderCACycfc","interfaceLanguage":"swift"},"pathComponents":["Loader","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":113,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF","interfaceLanguage":"swift"},"pathComponents":["Loader","load(path:)"],"names":{"title":"load(path:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"load"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"functionSignature":{"parameters":[{"name":"path","declarationFragments":[{"kind":"identifier","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"load"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":115,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF","interfaceLanguage":"swift"},"pathComponents":["Loader","fetch(url:)"],"names":{"title":"fetch(url:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fetch"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"url","declarationFragments":[{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fetch"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":116,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF","interfaceLanguage":"swift"},"pathComponents":["Loader","wait(seconds:)"],"names":{"title":"wait(seconds:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wait"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"}]},"functionSignature":{"parameters":[{"name":"seconds","declarationFragments":[{"kind":"identifier","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wait"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":117,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF","interfaceLanguage":"swift"},"pathComponents":["Loader","transform(_:)"],"names":{"title":"transform(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transform"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"}]},"functionSignature":{"parameters":[{"name":"shape","declarationFragments":[{"kind":"identifier","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":0}],"constraints":[{"kind":"conformance","lhs":"T","rhs":"Shape","rhsPrecise":"s:9SwiftDemo5ShapeP"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transform"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":119,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF","interfaceLanguage":"swift"},"pathComponents":["Loader","first(of:)"],"names":{"title":"first(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Element"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"items","declarationFragments":[{"kind":"identifier","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Element"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"parameters":[{"name":"Element","index":0,"depth":0}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Element"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":120,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC14withCompletionyyys6ResultOySSAA10ShapeErrorOGcF","interfaceLanguage":"swift"},"pathComponents":["Loader","withCompletion(_:)"],"names":{"title":"withCompletion(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withCompletion"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"completion","declarationFragments":[{"kind":"identifier","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withCompletion"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":122,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4eachyyySiXEF","interfaceLanguage":"swift"},"pathComponents":["Loader","each(_:)"],"names":{"title":"each(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"each"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"body","declarationFragments":[{"kind":"identifier","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"each"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":123,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF","interfaceLanguage":"swift"},"pathComponents":["Loader","lookup(table:key:)"],"names":{"title":"lookup(table:key:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lookup"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"table","declarationFragments":[{"kind":"identifier","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},{"name":"key","declarationFragments":[{"kind":"identifier","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lookup"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":125,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC6updateyyAA5PointVzF","interfaceLanguage":"swift"},"pathComponents":["Loader","update(_:)"],"names":{"title":"update(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"point","declarationFragments":[{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"point"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":127,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC10modernOnlyyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","modernOnly()"],"names":{"title":"modernOnly()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"modernOnly"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"modernOnly"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":16,"minor":0}}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":130,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC11legacyFetchyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","legacyFetch()"],"names":{"title":"legacyFetch()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"legacyFetch"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"legacyFetch"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"*","message":"Use fetch(url:) instead","isUnconditionallyDeprecated":true}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":133,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC8oldFetchyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","oldFetch()"],"names":{"title":"oldFetch()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"oldFetch"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"oldFetch"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":15,"minor":0},"deprecated":{"major":17,"minor":0},"renamed":"fetch(url:)"}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":136,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo16makeDefaultPointAA0E0VyF","interfaceLanguage":"swift"},"pathComponents":["makeDefaultPoint()"],"names":{"title":"makeDefaultPoint()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeDefaultPoint"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeDefaultPoint"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":139,"character":12}}},{"kind":{"identifier":"swift.var","displayName":"Global Variable"},"identifier":{"precise":"s:9SwiftDemo13defaultFlavorAA0D0Ovp","interfaceLanguage":"swift"},"pathComponents":["defaultFlavor"],"names":{"title":"defaultFlavor","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"defaultFlavor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"defaultFlavor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":140,"character":11}}},{"kind":{"identifier":"swift.var","displayName":"Global Variable"},"identifier":{"precise":"s:9SwiftDemo13globalCounterSivp","interfaceLanguage":"swift"},"pathComponents":["globalCounter"],"names":{"title":"globalCounter","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"globalCounter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"globalCounter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":141,"character":11}}},{"kind":{"identifier":"swift.typealias","displayName":"Type Alias"},"identifier":{"precise":"s:9SwiftDemo11Coordinatesa","interfaceLanguage":"swift"},"pathComponents":["Coordinates"],"names":{"title":"Coordinates","navigator":[{"kind":"identifier","spelling":"Coordinates"}],"subHeading":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coordinates"}]},"declarationFragments":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coordinates"},{"kind":"text","spelling":" = (latitude"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", longitude"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":142,"character":17}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo11checkedSideyS2dKF","interfaceLanguage":"swift"},"pathComponents":["checkedSide(_:)"],"names":{"title":"checkedSide(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checkedSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checkedSide"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":5,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8echoInt8ys0D0VADF","interfaceLanguage":"swift"},"pathComponents":["echoInt8(_:)"],"names":{"title":"echoInt8(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoInt8"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoInt8"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":10,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10echoUInt64ys0D0VADF","interfaceLanguage":"swift"},"pathComponents":["echoUInt64(_:)"],"names":{"title":"echoUInt64(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoUInt64"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoUInt64"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":11,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10largestIntSiyF","interfaceLanguage":"swift"},"pathComponents":["largestInt()"],"names":{"title":"largestInt()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"largestInt"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"largestInt"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":12,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5shoutySSSgACF","interfaceLanguage":"swift"},"pathComponents":["shout(_:)"],"names":{"title":"shout(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":13,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7TrackerC","interfaceLanguage":"swift"},"pathComponents":["Tracker"],"names":{"title":"Tracker","navigator":[{"kind":"identifier","spelling":"Tracker"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Tracker"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Tracker"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":15,"character":19}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo7TrackerC9liveCountSivpZ","interfaceLanguage":"swift"},"pathComponents":["Tracker","liveCount"],"names":{"title":"liveCount","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"liveCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"liveCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":16,"character":35}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7TrackerC2idSivp","interfaceLanguage":"swift"},"pathComponents":["Tracker","id"],"names":{"title":"id","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":17,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7TrackerC2idACSi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Tracker","init(id:)"],"names":{"title":"init(id:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":19,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7TrackerC4sameACyF","interfaceLanguage":"swift"},"pathComponents":["Tracker","same()"],"names":{"title":"same()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":26,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo11delayedEcho_5afterS2S_SdtYaKF","interfaceLanguage":"swift"},"pathComponents":["delayedEcho(_:after:)"],"names":{"title":"delayedEcho(_:after:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delayedEcho"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"after","internalName":"seconds","declarationFragments":[{"kind":"identifier","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delayedEcho"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":29,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo16makeTrackerLater2idAA0D0CSi_tYaF","interfaceLanguage":"swift"},"pathComponents":["makeTrackerLater(id:)"],"names":{"title":"makeTrackerLater(id:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeTrackerLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeTrackerLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":35,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7PaletteC","interfaceLanguage":"swift"},"pathComponents":["Palette"],"names":{"title":"Palette","navigator":[{"kind":"identifier","spelling":"Palette"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Palette"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Palette"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":41,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PaletteC7strokesSivp","interfaceLanguage":"swift"},"pathComponents":["Palette","strokes"],"names":{"title":"strokes","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":42,"character":28}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PaletteCACycfc","interfaceLanguage":"swift"},"pathComponents":["Palette","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":43,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PaletteC6strokeSiyF","interfaceLanguage":"swift"},"pathComponents":["Palette","stroke()"],"names":{"title":"stroke()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stroke"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stroke"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":44,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PaletteC11strokeLaterSiyYaF","interfaceLanguage":"swift"},"pathComponents":["Palette","strokeLater()"],"names":{"title":"strokeLater()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokeLater"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokeLater"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":48,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5namesySaySSGSiF","interfaceLanguage":"swift"},"pathComponents":["names(_:)"],"names":{"title":"names(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":54,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5totalySdSaySdGF","interfaceLanguage":"swift"},"pathComponents":["total(_:)"],"names":{"title":"total(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"total"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"values","declarationFragments":[{"kind":"identifier","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"total"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":55,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8centroid2ofAA5PointVSayAEG_tF","interfaceLanguage":"swift"},"pathComponents":["centroid(of:)"],"names":{"title":"centroid(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"centroid"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"points","declarationFragments":[{"kind":"identifier","spelling":"points"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"centroid"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"points"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":56,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8mirroredySaySaySiGGADF","interfaceLanguage":"swift"},"pathComponents":["mirrored(_:)"],"names":{"title":"mirrored(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mirrored"},{"kind":"text","spelling":"([["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]) -> [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]},"functionSignature":{"parameters":[{"name":"grid","declarationFragments":[{"kind":"identifier","spelling":"grid"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]}],"returns":[{"kind":"text","spelling":"[["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mirrored"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"grid"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]) -> [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":57,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10wordCountsySDySSSiGSaySSGF","interfaceLanguage":"swift"},"pathComponents":["wordCounts(_:)"],"names":{"title":"wordCounts(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wordCounts"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"words","declarationFragments":[{"kind":"identifier","spelling":"words"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wordCounts"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"words"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":58,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7lengthsySDySSSiGSDyS2SGF","interfaceLanguage":"swift"},"pathComponents":["lengths(_:)"],"names":{"title":"lengths(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lengths"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"table","declarationFragments":[{"kind":"identifier","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lengths"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":61,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8trackersySayAA7TrackerCGSaySiGF","interfaceLanguage":"swift"},"pathComponents":["trackers(_:)"],"names":{"title":"trackers(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"trackers"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"ids","declarationFragments":[{"kind":"identifier","spelling":"ids"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"trackers"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"ids"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":62,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10allFlavorsSayAA6FlavorOGyF","interfaceLanguage":"swift"},"pathComponents":["allFlavors()"],"names":{"title":"allFlavors()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allFlavors"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allFlavors"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":63,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7nextDay5after10Foundation4DateVAF_tF","interfaceLanguage":"swift"},"pathComponents":["nextDay(after:)"],"names":{"title":"nextDay(after:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextDay"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]},"functionSignature":{"parameters":[{"name":"after","internalName":"date","declarationFragments":[{"kind":"identifier","spelling":"date"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextDay"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"date"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":64,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF","interfaceLanguage":"swift"},"pathComponents":["host(of:)"],"names":{"title":"host(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"host"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"url","declarationFragments":[{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"host"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":65,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7resolve_7against10Foundation3URLVSS_AFtF","interfaceLanguage":"swift"},"pathComponents":["resolve(_:against:)"],"names":{"title":"resolve(_:against:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resolve"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"against"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]},"functionSignature":{"parameters":[{"name":"path","declarationFragments":[{"kind":"identifier","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"against","internalName":"base","declarationFragments":[{"kind":"identifier","spelling":"base"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resolve"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"against"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"base"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":66,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8checksumySi10Foundation4DataVF","interfaceLanguage":"swift"},"pathComponents":["checksum(_:)"],"names":{"title":"checksum(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checksum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"parameters":[{"name":"data","declarationFragments":[{"kind":"identifier","spelling":"data"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checksum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"data"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":67,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4rampy10Foundation4DataVSiF","interfaceLanguage":"swift"},"pathComponents":["ramp(_:)"],"names":{"title":"ramp(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ramp"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ramp"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":68,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10namesLaterySaySSGSiYaF","interfaceLanguage":"swift"},"pathComponents":["namesLater(_:)"],"names":{"title":"namesLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"namesLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"namesLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":69,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9countdown4from_ySi_ySi_SbtXEtF","interfaceLanguage":"swift"},"pathComponents":["countdown(from:_:)"],"names":{"title":"countdown(from:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countdown"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"from"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"from","internalName":"start","declarationFragments":[{"kind":"identifier","spelling":"start"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},{"name":"tick","declarationFragments":[{"kind":"identifier","spelling":"tick"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countdown"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"from"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"start"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"tick"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":74,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10greetLater_10completionySSSg_yADYbctF","interfaceLanguage":"swift"},"pathComponents":["greetLater(_:completion:)"],"names":{"title":"greetLater(_:completion:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},{"name":"completion","declarationFragments":[{"kind":"identifier","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":80,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo8NotifierC","interfaceLanguage":"swift"},"pathComponents":["Notifier"],"names":{"title":"Notifier","navigator":[{"kind":"identifier","spelling":"Notifier"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Notifier"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Notifier"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":86,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo8NotifierCACycfc","interfaceLanguage":"swift"},"pathComponents":["Notifier","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":88,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo8NotifierC5countSivp","interfaceLanguage":"swift"},"pathComponents":["Notifier","count"],"names":{"title":"count","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":89,"character":15}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC9subscribeyyySSYbcF","interfaceLanguage":"swift"},"pathComponents":["Notifier","subscribe(_:)"],"names":{"title":"subscribe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribe"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"handler","declarationFragments":[{"kind":"identifier","spelling":"handler"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"handler"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":90,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC7publishyySSF","interfaceLanguage":"swift"},"pathComponents":["Notifier","publish(_:)"],"names":{"title":"publish(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publish"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publish"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":91,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC12publishLateryySSF","interfaceLanguage":"swift"},"pathComponents":["Notifier","publishLater(_:)"],"names":{"title":"publishLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publishLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publishLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":92,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC5clearyyF","interfaceLanguage":"swift"},"pathComponents":["Notifier","clear()"],"names":{"title":"clear()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":96,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4area2ofSdAA11MeasurementO_tF","interfaceLanguage":"swift"},"pathComponents":["area(of:)"],"names":{"title":"area(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"measurement","declarationFragments":[{"kind":"identifier","spelling":"measurement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"measurement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":99,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7measure_2byAA11MeasurementOSd_SdSgtF","interfaceLanguage":"swift"},"pathComponents":["measure(_:by:)"],"names":{"title":"measure(_:by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measure"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"functionSignature":{"parameters":[{"name":"width","declarationFragments":[{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"by","internalName":"height","declarationFragments":[{"kind":"identifier","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":106,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12measurementsSayAA11MeasurementOGyF","interfaceLanguage":"swift"},"pathComponents":["measurements()"],"names":{"title":"measurements()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measurements"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measurements"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":111,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF","interfaceLanguage":"swift"},"pathComponents":["measureLater(_:)"],"names":{"title":"measureLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measureLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"functionSignature":{"parameters":[{"name":"width","declarationFragments":[{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measureLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":113,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9onMeasureyyyAA11MeasurementOXEF","interfaceLanguage":"swift"},"pathComponents":["onMeasure(_:)"],"names":{"title":"onMeasure(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onMeasure"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"body","declarationFragments":[{"kind":"identifier","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onMeasure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":118,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7explainySSAA10ShapeErrorOF","interfaceLanguage":"swift"},"pathComponents":["explain(_:)"],"names":{"title":"explain(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"explain"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"error","declarationFragments":[{"kind":"identifier","spelling":"error"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"explain"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"error"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":120,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7FormulaO","interfaceLanguage":"swift"},"pathComponents":["Formula"],"names":{"title":"Formula","navigator":[{"kind":"identifier","spelling":"Formula"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Formula"}]},"declarationFragments":[{"kind":"keyword","spelling":"indirect"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Formula"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":128,"character":21}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO6numberyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","number(_:)"],"names":{"title":"Formula.number(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"number"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"number"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":129,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","sum(_:_:)"],"names":{"title":"Formula.sum(_:_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":130,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO6negateyA2CcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","negate(_:)"],"names":{"title":"Formula.negate(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"negate"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"negate"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":131,"character":9}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7FormulaO5valueSdvp","interfaceLanguage":"swift"},"pathComponents":["Formula","value"],"names":{"title":"value","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":133,"character":15}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8simplifyyAA7FormulaOADF","interfaceLanguage":"swift"},"pathComponents":["simplify(_:)"],"names":{"title":"simplify(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simplify"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]},"functionSignature":{"parameters":[{"name":"formula","declarationFragments":[{"kind":"identifier","spelling":"formula"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simplify"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"formula"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":142,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7PayloadO","interfaceLanguage":"swift"},"pathComponents":["Payload"],"names":{"title":"Payload","navigator":[{"kind":"identifier","spelling":"Payload"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Payload"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Payload"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":144,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","tracker(_:)"],"names":{"title":"Payload.tracker(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tracker"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tracker"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":145,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","point(_:)"],"names":{"title":"Payload.point(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":146,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","flavor(_:)"],"names":{"title":"Payload.flavor(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flavor"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flavor"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":147,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","maybe(_:)"],"names":{"title":"Payload.maybe(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maybe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?)"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maybe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?)"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":148,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","names(_:)"],"names":{"title":"Payload.names(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":149,"character":9}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4echoyAA7PayloadOADF","interfaceLanguage":"swift"},"pathComponents":["echo(_:)"],"names":{"title":"echo(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echo"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]},"functionSignature":{"parameters":[{"name":"payload","declarationFragments":[{"kind":"identifier","spelling":"payload"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echo"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"payload"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":152,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo3JobO","interfaceLanguage":"swift"},"pathComponents":["Job"],"names":{"title":"Job","navigator":[{"kind":"identifier","spelling":"Job"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Job"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Job"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":155,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo3JobO3runyACyyccACmF","interfaceLanguage":"swift"},"pathComponents":["Job","run(_:)"],"names":{"title":"Job.run(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"run"},{"kind":"text","spelling":"(() -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"run"},{"kind":"text","spelling":"(() -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":156,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo3JobO4idleyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Job","idle"],"names":{"title":"Job.idle","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"idle"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"idle"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":157,"character":9}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket"],"names":{"title":"Job.Ticket","navigator":[{"kind":"identifier","spelling":"Ticket"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ticket"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ticket"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":159,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV2idSivp","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket","id"],"names":{"title":"id","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":160,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV2idAESi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket","init(id:)"],"names":{"title":"init(id:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":161,"character":15}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4bumpyySizF","interfaceLanguage":"swift"},"pathComponents":["bump(_:)"],"names":{"title":"bump(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bump"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bump"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":165,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo6append_2toySS_SaySSGztF","interfaceLanguage":"swift"},"pathComponents":["append(_:to:)"],"names":{"title":"append(_:to:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"append"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}]},"functionSignature":{"parameters":[{"name":"word","declarationFragments":[{"kind":"identifier","spelling":"word"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"to","internalName":"words","declarationFragments":[{"kind":"identifier","spelling":"words"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"append"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"word"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"words"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":166,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5halveyySizKF","interfaceLanguage":"swift"},"pathComponents":["halve(_:)"],"names":{"title":"halve(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"halve"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"halve"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":167,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5clearyySSSgzF","interfaceLanguage":"swift"},"pathComponents":["clear(_:)"],"names":{"title":"clear(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?)"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?)"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":171,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12swapTrackersyyAA7TrackerCz_ADztF","interfaceLanguage":"swift"},"pathComponents":["swapTrackers(_:_:)"],"names":{"title":"swapTrackers(_:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapTrackers"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"a","declarationFragments":[{"kind":"identifier","spelling":"a"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},{"name":"b","declarationFragments":[{"kind":"identifier","spelling":"b"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapTrackers"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"a"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"b"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":172,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8describeySSSo6UIViewCF","interfaceLanguage":"swift"},"pathComponents":["describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"view","declarationFragments":[{"kind":"identifier","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":5,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9makeLabelySo7UILabelCSSF","interfaceLanguage":"swift"},"pathComponents":["makeLabel(_:)"],"names":{"title":"makeLabel(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeLabel"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeLabel"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":7,"character":23}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF","interfaceLanguage":"swift"},"pathComponents":["tags(_:)"],"names":{"title":"tags(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"views","declarationFragments":[{"kind":"identifier","spelling":"views"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"views"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":13,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF","interfaceLanguage":"swift"},"pathComponents":["firstSubview(of:)"],"names":{"title":"firstSubview(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"firstSubview"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"view","declarationFragments":[{"kind":"identifier","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"firstSubview"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":15,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"c:@M@SwiftDemo@objc(cs)Note","interfaceLanguage":"swift"},"pathComponents":["Note"],"names":{"title":"Note","navigator":[{"kind":"identifier","spelling":"Note"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":17,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4NoteC4textSSvp","interfaceLanguage":"swift"},"pathComponents":["Note","text"],"names":{"title":"text","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":18,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo4NoteC4textACSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Note","init(text:)"],"names":{"title":"init(text:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":19,"character":11}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8makeNoteyAA0D0CSSF","interfaceLanguage":"swift"},"pathComponents":["makeNote(_:)"],"names":{"title":"makeNote(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeNote"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeNote"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":22,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4text2ofSSAA4NoteC_tF","interfaceLanguage":"swift"},"pathComponents":["text(of:)"],"names":{"title":"text(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"note","declarationFragments":[{"kind":"identifier","spelling":"note"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"note"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":23,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9noteLateryAA4NoteCSSYaF","interfaceLanguage":"swift"},"pathComponents":["noteLater(_:)"],"names":{"title":"noteLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"noteLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"noteLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":25,"character":12}}}],"relationships":[{"kind":"requirementOf","source":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","target":"s:9SwiftDemo7GreeterP"},{"kind":"conformsTo","source":"s:9SwiftDemo0B0C","target":"s:9SwiftDemo7GreeterP"},{"kind":"memberOf","source":"s:9SwiftDemo0B0CACycfc","target":"s:9SwiftDemo0B0C"},{"kind":"memberOf","source":"s:9SwiftDemo0B0C5greet4nameS2S_tF","target":"s:9SwiftDemo0B0C","sourceOrigin":{"identifier":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","displayName":"Greeter.greet(name:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1xSdvp","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1ySdvp","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1x1yACSd_Sdtcfc","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO7vanillayA2CmF","target":"s:9SwiftDemo6FlavorO"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO9chocolateyA2CmF","target":"s:9SwiftDemo6FlavorO"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:9SwiftDemo0B0C5greet4name5timesS2S_SitF","target":"s:9SwiftDemo0B0C"},{"kind":"memberOf","source":"s:9SwiftDemo0B0C7versionSSvpZ","target":"s:9SwiftDemo0B0C"},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s9EscapableP","targetFallback":"Swift.Escapable"},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s8CopyableP","targetFallback":"Swift.Copyable"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV11descriptionSSvp","target":"s:9SwiftDemo5PointV","sourceOrigin":{"identifier":"s:s23CustomStringConvertibleP11descriptionSSvp","displayName":"CustomStringConvertible.description"}},{"kind":"memberOf","source":"s:9SwiftDemo5PointV6lengthSdvp","target":"s:9SwiftDemo5PointV"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s9EscapableP","targetFallback":"Swift.Escapable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s8CopyableP","targetFallback":"Swift.Copyable"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO11descriptionSSvp","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:s23CustomStringConvertibleP11descriptionSSvp","displayName":"CustomStringConvertible.description"}},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF","target":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF","target":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp","target":"s:9SwiftDemo7PolygonC7MetricsV"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc","target":"s:9SwiftDemo7PolygonC7MetricsV"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5styleAC5StyleOvp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"requirementOf","source":"s:9SwiftDemo8GreetingP4nameSSvp","target":"s:9SwiftDemo8GreetingP"},{"kind":"requirementOf","source":"s:9SwiftDemo8GreetingP11punctuationSSvp","target":"s:9SwiftDemo8GreetingP"},{"kind":"requirementOf","source":"s:9SwiftDemo8GreetingP5greetyS2SF","target":"s:9SwiftDemo8GreetingP"},{"kind":"requirementOf","source":"s:9SwiftDemo8GreetingP5resetyyF","target":"s:9SwiftDemo8GreetingP"},{"kind":"requirementOf","source":"s:9SwiftDemo6ScorerP5scoreyS2iKF","target":"s:9SwiftDemo6ScorerP"},{"kind":"conformsTo","source":"s:9SwiftDemo12RankedScorerP","target":"s:9SwiftDemo6ScorerP"},{"kind":"requirementOf","source":"s:9SwiftDemo12RankedScorerP4rankSiSgvp","target":"s:9SwiftDemo12RankedScorerP"},{"kind":"memberOf","source":"s:9SwiftDemo8GreetingPAAE5shoutyS2SF","target":"s:9SwiftDemo8GreetingP"},{"kind":"memberOf","source":"s:9SwiftDemo8GreetingPAAE5shoutyS2SF::SYNTHESIZED::s:9SwiftDemo14FormalGreetingC","target":"s:9SwiftDemo14FormalGreetingC","sourceOrigin":{"identifier":"s:9SwiftDemo8GreetingPAAE5shoutyS2SF","displayName":"Greeting.shout(_:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo14FormalGreetingC","target":"s:9SwiftDemo8GreetingP"},{"kind":"memberOf","source":"s:9SwiftDemo14FormalGreetingC4nameSSvp","target":"s:9SwiftDemo14FormalGreetingC","sourceOrigin":{"identifier":"s:9SwiftDemo8GreetingP4nameSSvp","displayName":"Greeting.name"}},{"kind":"memberOf","source":"s:9SwiftDemo14FormalGreetingC11punctuationSSvp","target":"s:9SwiftDemo14FormalGreetingC","sourceOrigin":{"identifier":"s:9SwiftDemo8GreetingP11punctuationSSvp","displayName":"Greeting.punctuation"}},{"kind":"memberOf","source":"s:9SwiftDemo14FormalGreetingC4nameACSS_tcfc","target":"s:9SwiftDemo14FormalGreetingC"},{"kind":"memberOf","source":"s:9SwiftDemo14FormalGreetingC5greetyS2SF","target":"s:9SwiftDemo14FormalGreetingC","sourceOrigin":{"identifier":"s:9SwiftDemo8GreetingP5greetyS2SF","displayName":"Greeting.greet(_:)"}},{"kind":"memberOf","source":"s:9SwiftDemo14FormalGreetingC5resetyyF","target":"s:9SwiftDemo14FormalGreetingC","sourceOrigin":{"identifier":"s:9SwiftDemo8GreetingP5resetyyF","displayName":"Greeting.reset()"}},{"kind":"conformsTo","source":"s:9SwiftDemo14DoublingScorerV","target":"s:9SwiftDemo6ScorerP"},{"kind":"memberOf","source":"s:9SwiftDemo14DoublingScorerVACycfc","target":"s:9SwiftDemo14DoublingScorerV"},{"kind":"memberOf","source":"s:9SwiftDemo14DoublingScorerV5scoreyS2iF","target":"s:9SwiftDemo14DoublingScorerV","sourceOrigin":{"identifier":"s:9SwiftDemo6ScorerP5scoreyS2iKF","displayName":"Scorer.score(_:)"}},{"kind":"memberOf","source":"s:9SwiftDemo14GreetingHolderC8greetingAA0C0_pSgvp","target":"s:9SwiftDemo14GreetingHolderC"},{"kind":"memberOf","source":"s:9SwiftDemo14GreetingHolderCACycfc","target":"s:9SwiftDemo14GreetingHolderC"},{"kind":"memberOf","source":"s:9SwiftDemo14GreetingHolderC5greetySSSgSSF","target":"s:9SwiftDemo14GreetingHolderC"},{"kind":"conformsTo","source":"s:9SwiftDemo5ShapeP","target":"s:9SwiftDemo7GreeterP"},{"kind":"requirementOf","source":"s:9SwiftDemo5ShapeP4areaSdvp","target":"s:9SwiftDemo5ShapeP"},{"kind":"requirementOf","source":"s:9SwiftDemo5ShapeP5sidesSivpZ","target":"s:9SwiftDemo5ShapeP"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4nameSSvp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC11vertexCountSivp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC6sharedACvpZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4nameACSgSS_tcfc","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale2byySd_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale2byySi_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4makeACyFZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC8describeySSACSgFZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonCyAA5PointVSicip","target":"s:9SwiftDemo7PolygonC"},{"kind":"conformsTo","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo5ShapeP"},{"kind":"conformsTo","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo7GreeterP"},{"kind":"inheritsFrom","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4sideSdvp","target":"s:9SwiftDemo6SquareC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4sideACSd_tcfc","target":"s:9SwiftDemo6SquareC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4areaSdvp","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo5ShapeP4areaSdvp","displayName":"Shape.area"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5sidesSivpZ","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo5ShapeP5sidesSivpZ","displayName":"Shape.sides"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5greet4nameS2S_tF","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","displayName":"Greeter.greet(name:)"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5scale2byySd_tF","target":"s:9SwiftDemo6SquareC"},{"kind":"overrides","source":"s:9SwiftDemo6SquareC5scale2byySd_tF","target":"s:9SwiftDemo7PolygonC5scale2byySd_tF"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4rainyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4snowyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4noneyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO","target":"s:9SwiftDemo10ShapeErrorO","sourceOrigin":{"identifier":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp","displayName":"Error.localizedDescription"}},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s5ErrorP","targetFallback":"Swift.Error"},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO7unknownyA2CmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO6lengthyACSdcACmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4noneyA2CmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp","target":"s:9SwiftDemo11MeasurementO4UnitV"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc","target":"s:9SwiftDemo11MeasurementO4UnitV"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO6isNoneSbvp","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5innerAA5PointVvp","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5outerAA5PointVvp","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV6expand2byySd_tF","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV1poiyA2C_ACtFZ","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF","displayName":"Actor.withSerialExecutor(_:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF","displayName":"Actor.withSerialExecutor(_:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF","displayName":"Actor.preconditionIsolated(_:file:line:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF","displayName":"Actor.assertIsolated(_:file:line:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF","displayName":"Actor.assumeIsolated(_:file:line:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:ScA","targetFallback":"_Concurrency.Actor"},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC5valueSivp","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC4stepSivp","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterCACycfc","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC9incrementSiyF","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC5labelSSyF","target":"s:9SwiftDemo7CounterC"},{"kind":"conformsTo","source":"s:9SwiftDemo6CanvasC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"memberOf","source":"s:9SwiftDemo6CanvasCACycfc","target":"s:9SwiftDemo6CanvasC"},{"kind":"memberOf","source":"s:9SwiftDemo6CanvasC4drawyyAA5Shape_pF","target":"s:9SwiftDemo6CanvasC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderCACycfc","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC14withCompletionyyys6ResultOySSAA10ShapeErrorOGcF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4eachyyySiXEF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC6updateyyAA5PointVzF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC10modernOnlyyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC11legacyFetchyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC8oldFetchyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC9liveCountSivpZ","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC2idSivp","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC2idACSi_tcfc","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC4sameACyF","target":"s:9SwiftDemo7TrackerC"},{"kind":"conformsTo","source":"s:9SwiftDemo7PaletteC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC7strokesSivp","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteCACycfc","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC6strokeSiyF","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC11strokeLaterSiyYaF","target":"s:9SwiftDemo7PaletteC"},{"kind":"conformsTo","source":"s:9SwiftDemo8NotifierC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo8NotifierC","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierCACycfc","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC5countSivp","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC9subscribeyyySSYbcF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC7publishyySSF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC12publishLateryySSF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC5clearyyF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO6numberyACSdcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO6negateyA2CcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO5valueSdvp","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO3runyACyyccACmF","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO4idleyA2CmF","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV2idSivp","target":"s:9SwiftDemo3JobO6TicketV"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV2idAESi_tcfc","target":"s:9SwiftDemo3JobO6TicketV"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"c:objc(pl)NSObject","targetFallback":"ObjectiveC.NSObjectProtocol"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s7CVarArgP","targetFallback":"Swift.CVarArg"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s28CustomDebugStringConvertibleP","targetFallback":"Swift.CustomDebugStringConvertible"},{"kind":"inheritsFrom","source":"c:@M@SwiftDemo@objc(cs)Note","target":"c:objc(cs)NSObject","targetFallback":"ObjectiveC.NSObject"},{"kind":"memberOf","source":"s:9SwiftDemo4NoteC4textSSvp","target":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"memberOf","source":"s:9SwiftDemo4NoteC4textACSS_tcfc","target":"c:@M@SwiftDemo@objc(cs)Note"}]} \ No newline at end of file diff --git a/metadata-generator/src/Swift/CapabilityClassifier.cpp b/metadata-generator/src/Swift/CapabilityClassifier.cpp index 70bce21d..3d86a2dc 100644 --- a/metadata-generator/src/Swift/CapabilityClassifier.cpp +++ b/metadata-generator/src/Swift/CapabilityClassifier.cpp @@ -150,6 +150,7 @@ class Classifier { } } rejectUnbridgedPayloads(); + rejectUnadoptableProtocols(); for (const auto& entry : _module.symbols) { if (!isNominalType(entry.second.kind)) { _result.bySymbol[entry.first] = classifyOther(entry.second); @@ -208,7 +209,7 @@ class Classifier { return capability; } if (symbol.kind == SymbolKind::Protocol) { - return make(Tier::TypeOnly, "protocol"); + return classifyProtocol(symbol); } if (!symbol.genericParameters.empty()) { return make(Tier::SwiftSpecialized, "generic"); @@ -236,6 +237,114 @@ class Classifier { return make(Tier::SwiftGenerated); } + // A protocol JS objects can implement: every requirement is an instance + // method or property, and the protocols it refines are such protocols or + // markers. Requirement types are checked by rejectUnadoptableProtocols. + Capability classifyProtocol(const Symbol& symbol) const { + static const std::set markers = { + "s:s8SendableP", "s:s16SendableMetatypeP", "s:s8CopyableP", + "s:s9EscapableP"}; + int refinedModuleProtocols = 0; + for (const auto& id : symbol.conformances) { + const Symbol* refined = _module.find(id); + if (!markers.count(id) && + (!refined || refined->kind != SymbolKind::Protocol)) { + return make(Tier::TypeOnly, "protocol"); + } + refinedModuleProtocols += refined != nullptr; + } + // Adapters number requirements along a single refinement chain. + if (refinedModuleProtocols > 1) { + return make(Tier::TypeOnly, "protocol"); + } + if (hasAttribute(symbol, "@MainActor")) { + return make(Tier::TypeOnly, "protocol"); + } + for (const auto& id : symbol.memberIds) { + const Symbol* member = _module.find(id); + if (!member || !member->isProtocolRequirement) { + continue; + } + if (member->kind == SymbolKind::AssociatedType) { + return make(Tier::TypeOnly, "associated-type"); + } + bool callable = + (member->kind == SymbolKind::InstanceMethod || + member->kind == SymbolKind::InstanceProperty) && + !member->isAsync && member->genericParameters.empty() && + !hasAttribute(*member, "@MainActor") && + !llvm::StringRef(member->declarationText).contains("Self"); + if (!callable) { + return make(Tier::TypeOnly, "protocol"); + } + } + return make(Tier::SwiftGenerated); + } + + // Adoptable protocols whose requirements do not bridge (or that refine one + // that is not adoptable) are not; repeated until nothing changes. + void rejectUnadoptableProtocols() { + bool changed = true; + while (changed) { + changed = false; + for (const auto& entry : _module.symbols) { + const Symbol& symbol = entry.second; + Capability& capability = _result.bySymbol[entry.first]; + if (symbol.kind != SymbolKind::Protocol || + capability.tier != Tier::SwiftGenerated) { + continue; + } + std::vector reasons; + for (const auto& id : symbol.conformances) { + const Capability* refined = _result.find(id); + if (_module.find(id) && + (!refined || refined->tier != Tier::SwiftGenerated)) { + reasons.push_back("protocol"); + } + } + for (const auto& id : symbol.memberIds) { + const Symbol* member = _module.find(id); + if (!member || !member->isProtocolRequirement) { + continue; + } + if (_rejections.count(member->preciseId)) { + reasons.push_back("compiler-rejected:" + + _rejections.at(member->preciseId)); + } + std::set generics = + genericNamesInScope(_module, *member); + generics.insert("Self"); + _substitutions.clear(); + for (const auto& parameter : member->parameters) { + BridgedType bridged = bridge(parameter.type, generics, reasons); + if (parameter.modifier == "inout" || + bridged.bridge == Bridge::Closure) { + reasons.push_back("protocol"); + } + } + if (member->returnType) { + bridge(*member->returnType, generics, reasons); + } + if (member->valueType) { + bridge(*member->valueType, generics, reasons); + } + } + if (!reasons.empty()) { + std::sort(reasons.begin(), reasons.end()); + reasons.erase(std::unique(reasons.begin(), reasons.end()), + reasons.end()); + capability = make(Tier::TypeOnly, "protocol"); + for (const auto& reason : reasons) { + if (reason != "protocol") { + capability.reasons.push_back(reason); + } + } + changed = true; + } + } + } + } + // An enum with associated values crosses whole, so every case JS may see // must bridge. Payloads can name other such enums: demote until nothing // changes. @@ -347,7 +456,15 @@ class Classifier { return make(Tier::Unsupported, "external-type-extension"); } if (owner->kind == SymbolKind::Protocol) { - return make(Tier::TypeOnly, "protocol-requirement"); + const Capability* protocol = _result.find(owner->preciseId); + if (!protocol || protocol->tier != Tier::SwiftGenerated) { + return make(Tier::TypeOnly, "protocol-requirement"); + } + // Static members need a conforming type, which a value of the + // protocol does not name. + if (symbol.isStatic || symbol.kind == SymbolKind::Initializer) { + return make(Tier::Unsupported, "protocol-static"); + } } const Capability* ownerCapability = _result.find(owner->preciseId); if (!ownerCapability || ownerCapability->tier != Tier::SwiftGenerated) { @@ -477,6 +594,14 @@ class Classifier { capability.jsName = symbol.kind == SymbolKind::Initializer ? "constructor" : symbol.baseName; + if (owner && owner->kind == SymbolKind::Protocol) { + capability.isRequirement = symbol.isProtocolRequirement; + // Assigning through a value of a protocol that is not class-bound + // would change a copy. + if (!llvm::StringRef(owner->declarationText).contains("AnyObject")) { + capability.isSettable = false; + } + } return capability; } @@ -605,7 +730,22 @@ class Classifier { bridged.bridge = Bridge::Dictionary; return bridgeElement(node.children[1], bridged); } - case TypeNode::Kind::Existential: + case TypeNode::Kind::Existential: { + const TypeNode* inner = + node.children.empty() ? nullptr : &node.children[0]; + const Symbol* protocol = inner && inner->kind == TypeNode::Kind::Nominal + ? _module.find(inner->usr()) + : nullptr; + const Capability* capability = + protocol ? _result.find(protocol->preciseId) : nullptr; + if (protocol && protocol->kind == SymbolKind::Protocol && capability && + capability->tier == Tier::SwiftGenerated) { + bridged.bridge = Bridge::Protocol; + bridged.symbolId = protocol->preciseId; + return ""; + } + return "existential"; + } case TypeNode::Kind::Composition: return "existential"; case TypeNode::Kind::Opaque: @@ -706,7 +846,16 @@ class Classifier { if (target) { const Capability* capability = _result.find(target->preciseId); if (capability && capability->tier == Tier::SwiftGenerated && - target->kind != SymbolKind::Protocol) { + target->kind == SymbolKind::Protocol) { + // A bare protocol name is an existential. + bridged.bridge = Bridge::Protocol; + bridged.symbolId = target->preciseId; + return ""; + } + if (target->kind == SymbolKind::Protocol) { + return "existential"; + } + if (capability && capability->tier == Tier::SwiftGenerated) { bridged.bridge = bridgeOwner(*target).bridge; bridged.symbolId = target->preciseId; return ""; @@ -847,6 +996,9 @@ class Classifier { case Bridge::ObjCObject: kind = "objc"; break; + case Bridge::Protocol: + kind = "object:" + type.symbolId; + break; default: kind = "other"; break; diff --git a/metadata-generator/src/Swift/CapabilityClassifier.h b/metadata-generator/src/Swift/CapabilityClassifier.h index 8f420196..34c770c9 100644 --- a/metadata-generator/src/Swift/CapabilityClassifier.h +++ b/metadata-generator/src/Swift/CapabilityClassifier.h @@ -67,6 +67,10 @@ enum class Bridge { // A generic parameter, in a generic type's declarations for TypeScript // only (Classification::templates); never generated. TypeParameter, + // An adoptable module protocol as a value (`any P`): a JS object + // implementing it (through a generated adapter), or a Swift value that + // conforms to it. + Protocol, }; struct BridgedType { @@ -98,7 +102,7 @@ struct Capability { // ("unbridged-type:Foundation.URL"). Codes: // objc-visible, not-public, unavailable, obsoleted, unknown-kind, // deinitializer, macro, extension-block, protocol, protocol-requirement, - // type-alias, associated-type, generic, noncopyable, + // type-alias, associated-type, generic, noncopyable, protocol-static, // nonescapable, async-initializer, operator, subscript, // enum-associated-values, // external-type-extension, owner-not-bridged, missing-owner, @@ -120,6 +124,8 @@ struct Capability { bool isMainActor = false; // A property or variable JS can assign. bool isSettable = false; + // A requirement of an adoptable protocol, which JS implementations provide. + bool isRequirement = false; // Bridges for SwiftGenerated callables: parameters in order, then the // result (or the property value type). diff --git a/metadata-generator/src/Swift/ProbeEmitter.cpp b/metadata-generator/src/Swift/ProbeEmitter.cpp index c88ab099..595ea5c6 100644 --- a/metadata-generator/src/Swift/ProbeEmitter.cpp +++ b/metadata-generator/src/Swift/ProbeEmitter.cpp @@ -67,7 +67,8 @@ ProbeSource emitProbes(const Module& module, if (isNominalType(symbol.kind)) { // Bridged types are copied in and out of boxes and handles, which // requires Copyable (not visible in symbol graphs). - std::string type = qualifiedTypeName(module, symbol); + std::string type = (symbol.kind == SymbolKind::Protocol ? "any " : "") + + qualifiedTypeName(module, symbol); std::string availability = availabilityCondition(module, symbol); out.begin(symbol.preciseId); out.line("// " + symbol.preciseId); diff --git a/metadata-generator/src/Swift/SwiftSource.cpp b/metadata-generator/src/Swift/SwiftSource.cpp index ae9ea4a7..e8a3ffb6 100644 --- a/metadata-generator/src/Swift/SwiftSource.cpp +++ b/metadata-generator/src/Swift/SwiftSource.cpp @@ -70,7 +70,8 @@ TypeNode qualify(const TypeNode& node, const Module& module) { } std::string ownerTypeText(const Module& module, const Symbol& owner) { - return qualifiedTypeName(module, owner); + return (owner.kind == SymbolKind::Protocol ? "any " : "") + + qualifiedTypeName(module, owner); } std::string typeText(const BridgedType& bridged, const Module& module) { diff --git a/metadata-generator/src/Swift/SwiftSurface.cpp b/metadata-generator/src/Swift/SwiftSurface.cpp index b1d467d4..a8322890 100644 --- a/metadata-generator/src/Swift/SwiftSurface.cpp +++ b/metadata-generator/src/Swift/SwiftSurface.cpp @@ -47,6 +47,20 @@ int SwiftSurface::indexOf(const std::string& symbolId) const { return it == typeIndex.end() ? -1 : it->second; } +std::vector SwiftSurface::requirementsOf( + int typeIndex) const { + std::vector requirements; + if (types[typeIndex].superIndex >= 0) { + requirements = requirementsOf(types[typeIndex].superIndex); + } + for (const auto& member : members) { + if ((member.flags & kRequirement) && member.owner == typeIndex) { + requirements.push_back(&member); + } + } + return requirements; +} + std::vector SwiftSurface::casesOf( int typeIndex) const { std::vector cases; @@ -110,6 +124,9 @@ std::string signatureCode(const SwiftSurface& surface, case Bridge::ObjCObject: code = "@" + type.objcClass; break; + case Bridge::Protocol: + code = "p" + std::to_string(surface.indexOf(type.symbolId)); + break; case Bridge::Date: code = "D"; break; @@ -148,11 +165,12 @@ SwiftSurface describeSurface(const Module& module, const Symbol& symbol = entry.second; const Capability* capability = classification.find(entry.first); if (!capability || capability->tier != Tier::SwiftGenerated || - !isNominalType(symbol.kind) || symbol.kind == SymbolKind::Protocol) { + !isNominalType(symbol.kind)) { continue; } SwiftSurface::TypeKind kind = - symbol.kind == SymbolKind::Struct ? SwiftSurface::kStruct + symbol.kind == SymbolKind::Protocol ? SwiftSurface::kProtocol + : symbol.kind == SymbolKind::Struct ? SwiftSurface::kStruct : symbol.kind == SymbolKind::Enum ? (hasAssociatedValues(module, symbol) ? SwiftSurface::kTaggedEnum : SwiftSurface::kEnum) @@ -166,6 +184,13 @@ SwiftSurface describeSurface(const Module& module, } for (auto& type : surface.types) { type.superIndex = surface.indexOf(type.symbol->superclassId); + if (type.kind == SwiftSurface::kProtocol) { + for (const auto& id : type.symbol->conformances) { + if (surface.indexOf(id) >= 0) { + type.superIndex = surface.indexOf(id); + } + } + } } for (const auto& entry : module.symbols) { @@ -195,7 +220,8 @@ SwiftSurface describeSurface(const Module& module, (capability->isAsync ? SwiftSurface::kAsync : 0) | (capability->isMainActor && !capability->isAsync ? SwiftSurface::kMainActor - : 0); + : 0) | + (capability->isRequirement ? SwiftSurface::kRequirement : 0); member.result = capability->result; for (size_t i = 0; i < capability->parameters.size(); i++) { member.signature += (i > 0 ? "," : "") + diff --git a/metadata-generator/src/Swift/SwiftSurface.h b/metadata-generator/src/Swift/SwiftSurface.h index 2058927c..e31bf019 100644 --- a/metadata-generator/src/Swift/SwiftSurface.h +++ b/metadata-generator/src/Swift/SwiftSurface.h @@ -20,6 +20,7 @@ struct SwiftSurface { kStruct = 2, kEnum = 3, kTaggedEnum = 4, + kProtocol = 5, }; enum MemberKind { kInitializer = 0, @@ -37,13 +38,17 @@ struct SwiftSurface { kAmbiguous = 1 << 2, kAsync = 1 << 3, kMainActor = 1 << 4, + // A protocol requirement; its position among the protocol's + // requirements is the index adapters call it by. + kRequirement = 1 << 5, }; struct Type { const Symbol* symbol; int index; TypeKind kind; - // Type index of the registered superclass, or -1. + // Type index of the registered superclass (for a protocol, the protocol + // it refines), or -1. int superIndex; // The Swift module whose JS namespace exposes the type. std::string module; @@ -67,6 +72,9 @@ struct SwiftSurface { // A tagged enum's cases in registration order, which is the case index // the runtime and the thunks share. std::vector casesOf(int typeIndex) const; + // A protocol's requirements, those of the protocol it refines first, then + // its own in registration order: the index adapters call them by. + std::vector requirementsOf(int typeIndex) const; std::vector types; std::vector members; diff --git a/metadata-generator/src/Swift/ThunkEmitter.cpp b/metadata-generator/src/Swift/ThunkEmitter.cpp index 761f0c7e..051f3e7a 100644 --- a/metadata-generator/src/Swift/ThunkEmitter.cpp +++ b/metadata-generator/src/Swift/ThunkEmitter.cpp @@ -4,6 +4,7 @@ #include #include +#include #include #include "SwiftSource.h" @@ -50,8 +51,8 @@ class Emitter { result.fingerprint = fingerprint(_registrations); result.thunkCount = _thunkCount; - result.source = header() + support() + enumHelpers() + typeIndexFunction() + - thunks + registration(result); + result.source = header() + support() + enumHelpers() + protocolHelpers() + + typeIndexFunction() + thunks + registration(result); return result; } @@ -114,6 +115,10 @@ class Emitter { return {read("object") + " as? " + typeName(type.symbolId), true}; case Bridge::ObjCObject: return {read("object") + " as? " + valueTypeName(type), true}; + case Bridge::Protocol: + return {"__nsProtocol" + std::to_string(typeIndexOf(type.symbolId)) + + "(" + slots + ", " + index + ")", + true}; case Bridge::StructBox: return {"(" + read("object") + " as? __NSBox<" + typeName(type.symbolId) + ">)?.value", @@ -216,6 +221,9 @@ class Emitter { return typeName(type.symbolId); case Bridge::ObjCObject: return "a " + valueTypeName(type); + case Bridge::Protocol: + return "a " + typeName(type.symbolId) + + " (a Swift value or JS implementation)"; default: return valueTypeName(type); } @@ -255,6 +263,10 @@ class Emitter { std::to_string(typeIndexOf(type.symbolId)) + ")"; case Bridge::ObjCObject: return reporter + ".returnObjC(" + value + ")"; + case Bridge::Protocol: + return "__nsReportProtocol" + + std::to_string(typeIndexOf(type.symbolId)) + "(" + reporter + + ", " + value + ")"; case Bridge::EnumCase: return reporter + ".returnString(__nsEnumName" + std::to_string(typeIndexOf(type.symbolId)) + "(" + value + "))"; @@ -305,6 +317,12 @@ class Emitter { // Mutating members and setters change the boxed copy in place. return "box.value"; } + if (owner.kind == SymbolKind::Protocol) { + body += " guard let receiver = __nsProtocol" + + std::to_string(typeIndexOf(owner.preciseId)) + + "(rt.slots, 0) else { " + failure + " }\n"; + return "receiver"; + } if (owner.kind == SymbolKind::Enum) { std::string index = std::to_string(typeIndexOf(owner.preciseId)); body += hasAssociatedValues(_module, owner) @@ -526,6 +544,16 @@ private final class __NSBox { init(_ value: Value) { self.value = value } } +// A boxed struct as a value of a protocol it conforms to. +private protocol __NSAnyBox { var anyValue: Any { get } } +extension __NSBox: __NSAnyBox { var anyValue: Any { value } } + +// What a Swift adapter reports when its JavaScript implementation throws. +private struct __NSJSError: Error, CustomStringConvertible { + let requirement: String + var description: String { "the JavaScript implementation of \(requirement) failed" } +} + // The result entries calls and completions share, so value reporting code // serves both. private protocol __NSReporter { @@ -542,6 +570,7 @@ private protocol __NSReporter { func returnObject(_ object: AnyObject, _ typeIndex: UInt32) func returnCase(_ index: Int, _ values: () -> Void) func returnObjC(_ object: AnyObject) + func returnJSObject(_ object: __NSJSObject) } // Reads arguments (24-byte slots) and reports results through the runtime's @@ -550,7 +579,10 @@ private protocol __NSReporter { // maps point at their own slots (a map's are key, value, key, value, ...). private struct __NSSlots { let base: UnsafeRawPointer? + // The API table, for values that call back into the runtime. + let api: UnsafeRawPointer + func tag(_ i: Int) -> UInt32 { base!.load(fromByteOffset: i * 24, as: UInt32.self) } func isNull(_ i: Int) -> Bool { base!.load(fromByteOffset: i * 24, as: UInt32.self) == 0 } func bool(_ i: Int) -> Bool { base!.load(fromByteOffset: i * 24 + 8, as: UInt8.self) != 0 } func int64(_ i: Int) -> Int64 { base!.load(fromByteOffset: i * 24 + 8, as: Int64.self) } @@ -572,7 +604,8 @@ private struct __NSSlots { } func elements(_ i: Int) -> (__NSSlots, Int) { let start = base!.load(fromByteOffset: i * 24 + 8, as: UnsafeRawPointer?.self) - return (__NSSlots(base: start), Int(base!.load(fromByteOffset: i * 24 + 16, as: UInt64.self))) + return (__NSSlots(base: start, api: api), + Int(base!.load(fromByteOffset: i * 24 + 16, as: UInt64.self))) } } @@ -607,7 +640,7 @@ private struct __NSCall: __NSReporter { init(call: UnsafeMutableRawPointer, args: UnsafeRawPointer?) { self.call = call - self.slots = __NSSlots(base: args) + self.slots = __NSSlots(base: args, api: call.load(as: UnsafeRawPointer.self)) } private func slot(_ index: Int, _: Function.Type) -> Function { @@ -686,6 +719,10 @@ private struct __NSCall: __NSReporter { slot(40, (@convention(c) (UnsafeMutableRawPointer, UnsafeMutableRawPointer) -> Void).self)( call, Unmanaged.passRetained(object).toOpaque()) } + func returnJSObject(_ object: __NSJSObject) { + slot(46, (@convention(c) (UnsafeMutableRawPointer, UnsafeMutableRawPointer) -> Void).self)( + call, object.handle) + } func throwError(_ error: any Error) { report(String(describing: error), String(reflecting: type(of: error))) } @@ -783,6 +820,10 @@ private struct __NSCompletion: @unchecked Sendable, __NSReporter { slot(41, (@convention(c) (UnsafeMutableRawPointer, UnsafeMutableRawPointer) -> Void).self)( token, Unmanaged.passRetained(object).toOpaque()) } + func returnJSObject(_ object: __NSJSObject) { + slot(47, (@convention(c) (UnsafeMutableRawPointer, UnsafeMutableRawPointer) -> Void).self)( + token, object.handle) + } func throwError(_ error: any Error) { var message = String(describing: error) var type = String(reflecting: Swift.type(of: error)) @@ -822,6 +863,41 @@ private final class __NSCallback: @unchecked Sendable { } } +// A JS object implementing a protocol; adapters call its members. Calls from +// other threads run on the isolate's thread and wait for it. +private final class __NSJSObject: @unchecked Sendable { + let api: UnsafeRawPointer + let handle: UnsafeMutableRawPointer + + init(api: UnsafeRawPointer, handle: UnsafeMutableRawPointer) { + self.api = api + self.handle = handle + api.load(fromByteOffset: 32 * 8, as: (@convention(c) (UnsafeMutableRawPointer) -> Void).self)(handle) + } + + deinit { + api.load(fromByteOffset: 33 * 8, as: (@convention(c) (UnsafeMutableRawPointer) -> Void).self)(handle) + } + + // Requirement `index` (2 * position, +1 for a setter) with the arguments + // `arguments` reports; nil when the JS side threw or returned a value + // `read` cannot convert. + func call(_ index: Int, _ arguments: (__NSCompletion) -> Void, + _ read: (__NSSlots) -> T?) -> T? { + let begin = api.load(fromByteOffset: 43 * 8, + as: (@convention(c) (UnsafeMutableRawPointer, Int) -> UnsafeMutableRawPointer).self) + let completion = __NSCompletion(api: api, token: begin(handle, index)) + arguments(completion) + let end = api.load(fromByteOffset: 44 * 8, + as: (@convention(c) (UnsafeMutableRawPointer) -> UnsafeRawPointer?).self) + guard let result = end(completion.token) else { return nil } + defer { + api.load(fromByteOffset: 45 * 8, as: (@convention(c) (UnsafeRawPointer) -> Void).self)(result) + } + return read(__NSSlots(base: result, api: api)) + } +} + private func __nsRelease(_ object: UnsafeMutableRawPointer) { Unmanaged.fromOpaque(object).release() } @@ -1016,6 +1092,233 @@ private func __nsRelease(_ object: UnsafeMutableRawPointer) { " else { return nil }\n " + name + " = value\n }\n"; } + // For every adoptable protocol: __NSAdapter, a class implementing it + // by calling a JS object; __nsProtocol, which reads a protocol value + // (a JS implementation, a Swift object, or a boxed struct); and + // __nsReportProtocol, which reports one as the JS object it came from, + // as its own registered type, or boxed as the protocol. + std::string protocolHelpers() const { + std::string out; + for (const auto& type : _surface.types) { + if (type.kind == SwiftSurface::kProtocol) { + out += protocolHelper(type); + } + } + return out; + } + + std::string protocolHelper(const SwiftSurface::Type& type) const { + const Symbol& symbol = *type.symbol; + std::string name = qualifiedTypeName(_module, symbol); + std::string existential = "any " + name; + std::string index = std::to_string(type.index); + std::string availability = availabilityCondition(_module, symbol); + std::string attribute = + availability.empty() ? "" : "@available(" + availability + ")\n"; + std::string adapter = "__NSAdapter" + index; + + std::string out = + "// " + symbol.preciseId + "\n" + attribute + "private final class " + + adapter + ": " + name + + ", @unchecked Sendable {\n let object: __NSJSObject\n" + " init(_ object: __NSJSObject) { self.object = object }\n"; + auto requirements = _surface.requirementsOf(type.index); + for (size_t k = 0; k < requirements.size(); k++) { + out += requirementImplementation(*requirements[k], static_cast(k)); + } + out += "}\n\n"; + + out += attribute + "private func __nsProtocol" + index + + "(_ slots: __NSSlots, _ i: Int) -> (" + existential + + ")? {\n" + " if slots.tag(i) == 12 {\n return " + + adapter + + "(__NSJSObject(api: slots.api, handle: slots.callback(i)))\n }\n" + " let object = slots.object(i)\n" + " if let box = object as? __NSAnyBox { return box.anyValue as? " + + existential + " }\n return object as? " + existential + "\n}\n\n"; + + out += attribute + "private func __nsReportProtocol" + index + + "(_ r: R, _ value: " + existential + + ") {\n" + " if let adapter = value as? " + + adapter + " { return r.returnJSObject(adapter.object) }\n"; + for (const SwiftSurface::Type* conformer : conformersOf(type)) { + std::string conformerName = + qualifiedTypeName(_module, *conformer->symbol); + std::string conformerIndex = std::to_string(conformer->index); + bool isClass = conformer->kind == SwiftSurface::kClass || + conformer->kind == SwiftSurface::kActor; + std::string report = + isClass + ? "r.returnObject(v, __nsTypeIndex(v, " + conformerIndex + "))" + : "r.returnObject(__NSBox(v), " + conformerIndex + ")"; + std::string gate = availabilityCondition(_module, *conformer->symbol); + out += " if " + + (gate.empty() || gate == availability + ? "" + : "#available(" + gate + "), ") + + "let v = value as? " + conformerName + " { return " + report + + " }\n"; + } + out += " r.returnObject(__NSBox<" + existential + ">(value), " + index + + ")\n}\n\n"; + return out; + } + + // Registered classes and structs conforming to `protocol`, most derived + // classes first. + std::vector conformersOf( + const SwiftSurface::Type& protocol) const { + std::function conforms = [&](const Symbol& symbol) { + for (const auto& id : symbol.conformances) { + const Symbol* other = _module.find(id); + if (id == protocol.symbol->preciseId || + (other && other->kind == SymbolKind::Protocol && + conforms(*other))) { + return true; + } + } + return false; + }; + auto depth = [&](const Symbol* symbol) { + int value = 0; + for (const Symbol* current = symbol; + current && !current->superclassId.empty(); + current = _module.find(current->superclassId)) { + value++; + } + return value; + }; + std::vector result; + for (const auto& type : _surface.types) { + if ((type.kind == SwiftSurface::kClass || + type.kind == SwiftSurface::kActor || + type.kind == SwiftSurface::kStruct) && + conforms(*type.symbol)) { + result.push_back(&type); + } + } + std::stable_sort( + result.begin(), result.end(), + [&](const SwiftSurface::Type* a, const SwiftSurface::Type* b) { + return depth(a->symbol) > depth(b->symbol); + }); + return result; + } + + // What a requirement returns when its JS implementation fails, or "" when + // its type has no such value. + static std::string zeroValue(const BridgedType& type) { + if (type.optional) { + return "nil"; + } + switch (type.bridge) { + case Bridge::Void: + return "()"; + case Bridge::Bool: + return "false"; + case Bridge::Integer: + case Bridge::Floating: + return "0"; + case Bridge::String: + return "\"\""; + case Bridge::Array: + return "[]"; + case Bridge::Dictionary: + return "[:]"; + case Bridge::Data: + return "Data()"; + default: + return ""; + } + } + + // Requirement `k` of an adapter: a method or property calling the JS + // object's member of the same name. + std::string requirementImplementation(const SwiftSurface::Member& member, + int k) const { + const Symbol& symbol = *member.symbol; + const Capability& capability = *member.capability; + Invocation invocation = describeInvocation(_module, symbol, capability); + const BridgedType& result = member.result; + std::string resultType = result.bridge == Bridge::Void + ? "Void" + : swiftTypeText(result.node, _module); + std::string owner = llvm::join(symbol.pathComponents, "."); + + auto readClosure = [&]() -> std::string { + if (result.bridge == Bridge::Void) { + return "{ (_: __NSSlots) -> Void? in () }"; + } + ValueExpression value = valueExpression(result, "s", "0"); + if (!result.optional) { + return "{ (s: __NSSlots) -> " + resultType + "? in " + value.code + + " }"; + } + std::string inner = swiftTypeText(unwrappedNode(result), _module); + return "{ (s: __NSSlots) -> " + inner + + "?? in if s.isNull(0) { return .some(nil) }; " + + (value.failable ? "return (" + value.code + ").map { .some($0) }" + : "return .some(" + value.code + ")") + + " }"; + }; + auto body = [&](int index, const std::string& reports, + const std::string& indent) { + std::string zero = zeroValue(result); + std::string failure = + symbol.isThrowing + ? "throw __NSJSError(requirement: " + quoted(owner) + ")" + : zero.empty() + ? "fatalError(" + + quoted(owner + ": its JavaScript implementation failed") + + ")" + : "return " + zero; + return indent + "let result: " + + (result.bridge == Bridge::Void ? "Void" : resultType) + + "? = object.call(" + std::to_string(index) + ", { r in " + + reports + " }, " + readClosure() + ")\n" + indent + + "guard let result else { " + failure + " }\n" + indent + + "return result\n"; + }; + + if (symbol.kind == SymbolKind::InstanceProperty) { + std::string effects = symbol.isThrowing ? " throws" : ""; + std::string out = " var " + swiftIdentifier(symbol.baseName) + ": " + + resultType + " {\n get" + effects + " {\n" + + body(2 * k, "", " ") + " }\n"; + if (symbol.isSettable) { + out += " set { _ = object.call(" + std::to_string(2 * k + 1) + + ", { r in " + + (result.optional ? "if let newValue { " + + returnValue(result, "r", "newValue") + + " } else { r.returnNull() }" + : returnValue(result, "r", "newValue")) + + " }, { (_: __NSSlots) -> Void? in () }) }\n"; + } + return out + " }\n"; + } + + std::vector parameters; + std::vector reports; + for (size_t i = 0; i < capability.parameters.size(); i++) { + const BridgedType& parameter = capability.parameters[i]; + std::string name = "p" + std::to_string(i); + const std::string& label = + i < symbol.parameters.size() ? symbol.parameters[i].label : ""; + parameters.push_back((label.empty() ? "_" : swiftIdentifier(label)) + + " " + name + ": " + invocation.parameterTypes[i]); + std::string report = returnValue(parameter, "r", name); + reports.push_back(parameter.optional ? "if let " + name + " { " + report + + " } else { r.returnNull() }" + : report); + } + return " func " + swiftIdentifier(symbol.baseName) + "(" + + llvm::join(parameters, ", ") + ")" + + (symbol.isThrowing ? " throws" : "") + " -> " + resultType + " {\n" + + body(2 * k, llvm::join(reports, "; "), " ") + " }\n"; + } + // Dynamic type index of a returned object: most derived classes first. std::string typeIndexFunction() const { std::vector classes; diff --git a/metadata-generator/src/Swift/ThunkEmitter.h b/metadata-generator/src/Swift/ThunkEmitter.h index 00747ce1..67a93f2d 100644 --- a/metadata-generator/src/Swift/ThunkEmitter.h +++ b/metadata-generator/src/Swift/ThunkEmitter.h @@ -9,7 +9,7 @@ namespace Swift { // ABI version the emitted thunks implement; must match NS_SWIFT_ABI_VERSION // in NativeScript/runtime/SwiftInterop.h, which documents the contract. -constexpr int kThunkABIVersion = 8; +constexpr int kThunkABIVersion = 9; struct ThunkSource { std::string source; diff --git a/metadata-generator/src/TypeScript/SwiftDefinitionWriter.cpp b/metadata-generator/src/TypeScript/SwiftDefinitionWriter.cpp index c5590c44..33a68290 100644 --- a/metadata-generator/src/TypeScript/SwiftDefinitionWriter.cpp +++ b/metadata-generator/src/TypeScript/SwiftDefinitionWriter.cpp @@ -99,7 +99,8 @@ std::string codeDisplayName(const SwiftSurface& surface, case Bridge::ClassHandle: case Bridge::StructBox: case Bridge::EnumCase: - case Bridge::TaggedEnum: { + case Bridge::TaggedEnum: + case Bridge::Protocol: { int index = surface.indexOf(type.symbolId); name = index >= 0 ? surface.types[index].symbol->name : "?"; break; @@ -455,6 +456,7 @@ class Writer { case Bridge::StructBox: case Bridge::EnumCase: case Bridge::TaggedEnum: + case Bridge::Protocol: ts = typeName(type); break; case Bridge::ObjCObject: @@ -514,6 +516,7 @@ class Writer { case Bridge::StructBox: case Bridge::EnumCase: case Bridge::TaggedEnum: + case Bridge::Protocol: ts = typeName(type); break; case Bridge::ObjCObject: @@ -687,7 +690,9 @@ class Writer { writeEnum(*node.type, node, indent); return; } - if (node.type) { + if (node.type && node.type->kind == SwiftSurface::kProtocol) { + writeInterface(*node.type, indent); + } else if (node.type) { writeClass(*node.type, indent); } if (!node.children.empty()) { @@ -699,6 +704,35 @@ class Writer { } } + // What a JS object implementing the protocol provides: its requirements. + void writeInterface(const SwiftSurface::Type& type, + const std::string& indent) { + const Symbol& symbol = *type.symbol; + std::string inner = indent + " "; + writeDoc(symbol, indent); + _out << indent << "export interface " << symbol.name; + if (type.superIndex >= 0) { + _out << " extends " << typePath(_surface.types[type.superIndex]); + } + _out << " {\n"; + for (const Member* member : _surface.requirementsOf(type.index)) { + if (member->owner != type.index) { + continue; + } + writeDoc(*member->symbol, inner); + if (member->kind == SwiftSurface::kInstanceProperty) { + _out << inner << (member->symbol->isSettable ? "" : "readonly ") + << propertyKey(member->capability->jsName) << ": " + << outputType(member->result) << ";\n"; + } else { + _out << inner << propertyKey(member->capability->jsName) << "(" + << parameterList(*member) << "): " << outputType(member->result) + << ";\n"; + } + } + _out << indent << "}\n\n"; + } + void writeClass(const SwiftSurface::Type& type, const std::string& indent) { const Symbol& symbol = *type.symbol; std::string inner = indent + " "; diff --git a/metadata-generator/tests/swift/ClassifierTests.cpp b/metadata-generator/tests/swift/ClassifierTests.cpp index cf062e47..3c508509 100644 --- a/metadata-generator/tests/swift/ClassifierTests.cpp +++ b/metadata-generator/tests/swift/ClassifierTests.cpp @@ -51,7 +51,10 @@ TEST(ClassifyNominalTypes) { EXPECT_TIER("Flavor", Tier::SwiftGenerated); EXPECT_TIER("Counter", Tier::SwiftGenerated); EXPECT_TIER("Canvas", Tier::SwiftGenerated); - EXPECT_TIER("Greeter", Tier::TypeOnly, "protocol"); + EXPECT_TIER("Greeter", Tier::SwiftGenerated); + EXPECT_TIER("RankedScorer", Tier::SwiftGenerated); + // A static requirement needs a conforming type. + EXPECT_TIER("Shape", Tier::TypeOnly, "protocol"); EXPECT_TIER("Measurement", Tier::SwiftGenerated); EXPECT_TIER("ShapeError", Tier::SwiftGenerated); EXPECT_TIER("Formula", Tier::SwiftGenerated); @@ -92,7 +95,9 @@ TEST(ClassifyCallables) { } TEST(ClassifyRejections) { - EXPECT_TIER("Greeter.greet(name:)", Tier::TypeOnly, "protocol-requirement"); + EXPECT_TIER("Greeter.greet(name:)", Tier::SwiftGenerated); + EXPECT_TIER("Shape.area", Tier::TypeOnly, "protocol-requirement"); + EXPECT_TIER("Greeting.shout(_:)", Tier::SwiftGenerated); EXPECT_TIER("Loader.fetch(url:)", Tier::SwiftGenerated); EXPECT_TIER("Loader.transform(_:)", Tier::SwiftSpecialized, "generic"); EXPECT_TIER("Loader.first(of:)", Tier::SwiftSpecialized, "generic"); diff --git a/metadata-generator/tests/swift/SymbolGraphLoaderTests.cpp b/metadata-generator/tests/swift/SymbolGraphLoaderTests.cpp index ac65d24a..e3a4656d 100644 --- a/metadata-generator/tests/swift/SymbolGraphLoaderTests.cpp +++ b/metadata-generator/tests/swift/SymbolGraphLoaderTests.cpp @@ -79,6 +79,20 @@ TEST(TopLevelDeclarationsInSourceOrder) { "Demo", "Point", "Flavor", + "Greeting", + "Scorer", + "RankedScorer", + "FormalGreeting", + "DoublingScorer", + "introduce(_:to:)", + "makeGreeting(_:)", + "same(_:)", + "excite(_:)", + "scoreAll(_:_:)", + "makeScorer()", + "topRank(_:)", + "greetInBackground(_:)", + "GreetingHolder", "starterWallet(for:)", "sum(of:)", "flip(_:)", diff --git a/metadata-generator/tests/swift/ThunkEmitterTests.cpp b/metadata-generator/tests/swift/ThunkEmitterTests.cpp index 1bdccb29..2665f826 100644 --- a/metadata-generator/tests/swift/ThunkEmitterTests.cpp +++ b/metadata-generator/tests/swift/ThunkEmitterTests.cpp @@ -47,7 +47,7 @@ TEST(ThunkRegistration) { "ns_swift_register_SwiftDemoKit"})); CHECK_EQ(thunks().fingerprint.size(), size_t(16)); CHECK(thunks().thunkCount > 0); - CHECK(registers("registerModule(registrar, 8, \"SwiftDemo\", \"" + + CHECK(registers("registerModule(registrar, 9, \"SwiftDemo\", \"" + thunks().fingerprint + "\", __nsRelease)")); // Cases of a tagged enum register their associated values' codes. CHECK(registers("\"tooManySides\", \"tooManySides(count:limit:)\", \"i64,i64>t")); @@ -56,6 +56,9 @@ TEST(ThunkRegistration) { CHECK(registers("\"firstSubview\", \"firstSubview(of:)\", \"@UIView>@UIView?\"")); CHECK(registers("\"makeNote\", \"makeNote(_:)\", \"s>@SwiftDemo.Note\"")); CHECK(thunks().source.find("#if canImport(UIKit)\nimport UIKit\n#endif") != std::string::npos); + // Protocol values; requirements carry the requirement flag (32). + CHECK(registers("\"introduce\", \"introduce(_:to:)\", \"p")); + CHECK(thunks().source.find("private final class __NSAdapter") != std::string::npos); // Inout parameters are marked; the thunk writes their final value back. CHECK(registers("\"append\", \"append(_:to:)\", \"s,&[s]>v\"")); CHECK(registers("\"swapTrackers\", \"swapTrackers(_:_:)\", \"&o")); diff --git a/metadata-generator/tests/swift/snapshots/SwiftDemo.coverage.json b/metadata-generator/tests/swift/snapshots/SwiftDemo.coverage.json index 435e6e87..3e08c6af 100644 --- a/metadata-generator/tests/swift/snapshots/SwiftDemo.coverage.json +++ b/metadata-generator/tests/swift/snapshots/SwiftDemo.coverage.json @@ -2,24 +2,24 @@ "module": "SwiftDemo", "totals": { "declarations": { - "total": 262, + "total": 294, "objc-direct": 1, - "swift-generated": 211, + "swift-generated": 245, "swift-specialized": 17, - "type-only": 7, + "type-only": 5, "unsupported": 26, "not-applicable": 0 }, "callable": { - "total": 224, + "total": 250, "objc-direct": 0, - "swift-generated": 182, + "swift-generated": 209, "swift-specialized": 14, - "type-only": 3, + "type-only": 2, "unsupported": 25, "not-applicable": 0 }, - "effectiveCallable": 182, + "effectiveCallable": 209, "compilerVerified": false, "compiledThunks": null, "runtimeTested": null @@ -35,9 +35,9 @@ "not-applicable": 0 }, "class": { - "total": 13, + "total": 15, "objc-direct": 1, - "swift-generated": 11, + "swift-generated": 13, "swift-specialized": 1, "type-only": 0, "unsupported": 0, @@ -62,36 +62,36 @@ "not-applicable": 0 }, "function": { - "total": 53, + "total": 61, "objc-direct": 0, - "swift-generated": 53, + "swift-generated": 61, "swift-specialized": 0, "type-only": 0, "unsupported": 0, "not-applicable": 0 }, "initializer": { - "total": 27, + "total": 30, "objc-direct": 0, - "swift-generated": 24, + "swift-generated": 27, "swift-specialized": 2, "type-only": 0, "unsupported": 1, "not-applicable": 0 }, "instanceMethod": { - "total": 51, + "total": 60, "objc-direct": 0, - "swift-generated": 35, + "swift-generated": 45, "swift-specialized": 7, - "type-only": 1, + "type-only": 0, "unsupported": 8, "not-applicable": 0 }, "instanceProperty": { - "total": 46, + "total": 52, "objc-direct": 0, - "swift-generated": 37, + "swift-generated": 43, "swift-specialized": 3, "type-only": 1, "unsupported": 5, @@ -116,18 +116,18 @@ "not-applicable": 0 }, "protocol": { - "total": 2, + "total": 5, "objc-direct": 0, - "swift-generated": 0, + "swift-generated": 4, "swift-specialized": 0, - "type-only": 2, + "type-only": 1, "unsupported": 0, "not-applicable": 0 }, "struct": { - "total": 9, + "total": 10, "objc-direct": 0, - "swift-generated": 8, + "swift-generated": 9, "swift-specialized": 1, "type-only": 0, "unsupported": 0, @@ -710,6 +710,14 @@ "jsName": "largestInt", "location": "file://Sources/SwiftDemo/Values.swift:13" }, + { + "id": "s:9SwiftDemo10makeScorerAA0D0_pyF", + "path": "makeScorer()", + "kind": "function", + "tier": "swift-generated", + "jsName": "makeScorer", + "location": "file://Sources/SwiftDemo/Protocols.swift:46" + }, { "id": "s:9SwiftDemo10namesLaterySaySSGSiYaF", "path": "namesLater(_:)", @@ -814,6 +822,21 @@ "jsName": "delayedEcho", "location": "file://Sources/SwiftDemo/Values.swift:30" }, + { + "id": "s:9SwiftDemo12RankedScorerP", + "path": "RankedScorer", + "kind": "protocol", + "tier": "swift-generated", + "location": "file://Sources/SwiftDemo/Protocols.swift:15" + }, + { + "id": "s:9SwiftDemo12RankedScorerP4rankSiSgvp", + "path": "RankedScorer.rank", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "rank", + "location": "file://Sources/SwiftDemo/Protocols.swift:16" + }, { "id": "s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF", "path": "firstSubview(of:)", @@ -822,6 +845,14 @@ "jsName": "firstSubview", "location": "file://Sources/SwiftDemo/Views.swift:16" }, + { + "id": "s:9SwiftDemo12makeGreetingyAA0D0_pSSF", + "path": "makeGreeting(_:)", + "kind": "function", + "tier": "swift-generated", + "jsName": "makeGreeting", + "location": "file://Sources/SwiftDemo/Protocols.swift:40" + }, { "id": "s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF", "path": "measureLater(_:)", @@ -908,6 +939,107 @@ "jsName": "starterWallet", "location": "file://Sources/SwiftDemo/Purse.swift:5" }, + { + "id": "s:9SwiftDemo14DoublingScorerV", + "path": "DoublingScorer", + "kind": "struct", + "tier": "swift-generated", + "location": "file://Sources/SwiftDemo/Protocols.swift:31" + }, + { + "id": "s:9SwiftDemo14DoublingScorerV5scoreyS2iF", + "path": "DoublingScorer.score(_:)", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "score", + "location": "file://Sources/SwiftDemo/Protocols.swift:33" + }, + { + "id": "s:9SwiftDemo14DoublingScorerVACycfc", + "path": "DoublingScorer.init()", + "kind": "initializer", + "tier": "swift-generated", + "jsName": "constructor", + "location": "file://Sources/SwiftDemo/Protocols.swift:32" + }, + { + "id": "s:9SwiftDemo14FormalGreetingC", + "path": "FormalGreeting", + "kind": "class", + "tier": "swift-generated", + "location": "file://Sources/SwiftDemo/Protocols.swift:23" + }, + { + "id": "s:9SwiftDemo14FormalGreetingC11punctuationSSvp", + "path": "FormalGreeting.punctuation", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "punctuation", + "location": "file://Sources/SwiftDemo/Protocols.swift:25" + }, + { + "id": "s:9SwiftDemo14FormalGreetingC4nameACSS_tcfc", + "path": "FormalGreeting.init(name:)", + "kind": "initializer", + "tier": "swift-generated", + "jsName": "constructor", + "location": "file://Sources/SwiftDemo/Protocols.swift:26" + }, + { + "id": "s:9SwiftDemo14FormalGreetingC4nameSSvp", + "path": "FormalGreeting.name", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "name", + "location": "file://Sources/SwiftDemo/Protocols.swift:24" + }, + { + "id": "s:9SwiftDemo14FormalGreetingC5greetyS2SF", + "path": "FormalGreeting.greet(_:)", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "greet", + "location": "file://Sources/SwiftDemo/Protocols.swift:27" + }, + { + "id": "s:9SwiftDemo14FormalGreetingC5resetyyF", + "path": "FormalGreeting.reset()", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "reset", + "location": "file://Sources/SwiftDemo/Protocols.swift:28" + }, + { + "id": "s:9SwiftDemo14GreetingHolderC", + "path": "GreetingHolder", + "kind": "class", + "tier": "swift-generated", + "location": "file://Sources/SwiftDemo/Protocols.swift:61" + }, + { + "id": "s:9SwiftDemo14GreetingHolderC5greetySSSgSSF", + "path": "GreetingHolder.greet(_:)", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "greet", + "location": "file://Sources/SwiftDemo/Protocols.swift:64" + }, + { + "id": "s:9SwiftDemo14GreetingHolderC8greetingAA0C0_pSgvp", + "path": "GreetingHolder.greeting", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "greeting", + "location": "file://Sources/SwiftDemo/Protocols.swift:62" + }, + { + "id": "s:9SwiftDemo14GreetingHolderCACycfc", + "path": "GreetingHolder.init()", + "kind": "initializer", + "tier": "swift-generated", + "jsName": "constructor", + "location": "file://Sources/SwiftDemo/Protocols.swift:63" + }, { "id": "s:9SwiftDemo16makeDefaultPointAA0E0VyF", "path": "makeDefaultPoint()", @@ -924,6 +1056,14 @@ "jsName": "makeTrackerLater", "location": "file://Sources/SwiftDemo/Values.swift:36" }, + { + "id": "s:9SwiftDemo17greetInBackgroundySSAA8Greeting_pYaF", + "path": "greetInBackground(_:)", + "kind": "function", + "tier": "swift-generated", + "jsName": "greetInBackground", + "location": "file://Sources/SwiftDemo/Protocols.swift:56" + }, { "id": "s:9SwiftDemo3JobO", "path": "Job", @@ -1103,6 +1243,14 @@ "jsName": "ramp", "location": "file://Sources/SwiftDemo/Values.swift:69" }, + { + "id": "s:9SwiftDemo4sameyAA8Greeting_pAaC_pF", + "path": "same(_:)", + "kind": "function", + "tier": "swift-generated", + "jsName": "same", + "location": "file://Sources/SwiftDemo/Protocols.swift:41" + }, { "id": "s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF", "path": "tags(_:)", @@ -1434,6 +1582,21 @@ "jsName": "constructor", "location": "file://Sources/SwiftDemo/Shapes.swift:114" }, + { + "id": "s:9SwiftDemo6ScorerP", + "path": "Scorer", + "kind": "protocol", + "tier": "swift-generated", + "location": "file://Sources/SwiftDemo/Protocols.swift:10" + }, + { + "id": "s:9SwiftDemo6ScorerP5scoreyS2iKF", + "path": "Scorer.score(_:)", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "score", + "location": "file://Sources/SwiftDemo/Protocols.swift:11" + }, { "id": "s:9SwiftDemo6SquareC", "path": "Square", @@ -1497,6 +1660,14 @@ "jsName": "append", "location": "file://Sources/SwiftDemo/Values.swift:167" }, + { + "id": "s:9SwiftDemo6exciteyyAA8Greeting_pF", + "path": "excite(_:)", + "kind": "function", + "tier": "swift-generated", + "jsName": "excite", + "location": "file://Sources/SwiftDemo/Protocols.swift:42" + }, { "id": "s:9SwiftDemo6settley0aB3Kit7OutcomeOySiGSiF", "path": "settle(_:)", @@ -1595,20 +1766,15 @@ "id": "s:9SwiftDemo7GreeterP", "path": "Greeter", "kind": "protocol", - "tier": "type-only", - "reasons": [ - "protocol" - ], + "tier": "swift-generated", "location": "file://Sources/SwiftDemo/Demo.swift:1" }, { "id": "s:9SwiftDemo7GreeterP5greet4nameS2S_tF", "path": "Greeter.greet(name:)", "kind": "instanceMethod", - "tier": "type-only", - "reasons": [ - "protocol-requirement" - ], + "tier": "swift-generated", + "jsName": "greet", "location": "file://Sources/SwiftDemo/Demo.swift:2" }, { @@ -1944,6 +2110,69 @@ "jsName": "resolve", "location": "file://Sources/SwiftDemo/Values.swift:67" }, + { + "id": "s:9SwiftDemo7topRankySSAA12RankedScorer_pKF", + "path": "topRank(_:)", + "kind": "function", + "tier": "swift-generated", + "jsName": "topRank", + "location": "file://Sources/SwiftDemo/Protocols.swift:47" + }, + { + "id": "s:9SwiftDemo8GreetingP", + "path": "Greeting", + "kind": "protocol", + "tier": "swift-generated", + "location": "file://Sources/SwiftDemo/Protocols.swift:3" + }, + { + "id": "s:9SwiftDemo8GreetingP11punctuationSSvp", + "path": "Greeting.punctuation", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "punctuation", + "location": "file://Sources/SwiftDemo/Protocols.swift:5" + }, + { + "id": "s:9SwiftDemo8GreetingP4nameSSvp", + "path": "Greeting.name", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "name", + "location": "file://Sources/SwiftDemo/Protocols.swift:4" + }, + { + "id": "s:9SwiftDemo8GreetingP5greetyS2SF", + "path": "Greeting.greet(_:)", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "greet", + "location": "file://Sources/SwiftDemo/Protocols.swift:6" + }, + { + "id": "s:9SwiftDemo8GreetingP5resetyyF", + "path": "Greeting.reset()", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "reset", + "location": "file://Sources/SwiftDemo/Protocols.swift:7" + }, + { + "id": "s:9SwiftDemo8GreetingPAAE5shoutyS2SF", + "path": "Greeting.shout(_:)", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "shout", + "location": "file://Sources/SwiftDemo/Protocols.swift:20" + }, + { + "id": "s:9SwiftDemo8GreetingPAAE5shoutyS2SF::SYNTHESIZED::s:9SwiftDemo14FormalGreetingC", + "path": "FormalGreeting.shout(_:)", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "shout", + "location": "file://Sources/SwiftDemo/Protocols.swift:20" + }, { "id": "s:9SwiftDemo8NotifierC", "path": "Notifier", @@ -2063,6 +2292,14 @@ "jsName": "mirrored", "location": "file://Sources/SwiftDemo/Values.swift:58" }, + { + "id": "s:9SwiftDemo8scoreAllySaySiGAA6Scorer_p_ACtKF", + "path": "scoreAll(_:_:)", + "kind": "function", + "tier": "swift-generated", + "jsName": "scoreAll", + "location": "file://Sources/SwiftDemo/Protocols.swift:43" + }, { "id": "s:9SwiftDemo8simplifyyAA7FormulaOADF", "path": "simplify(_:)", @@ -2087,6 +2324,14 @@ "jsName": "countdown", "location": "file://Sources/SwiftDemo/Values.swift:75" }, + { + "id": "s:9SwiftDemo9introduce_2toSSAA8Greeting_p_SStF", + "path": "introduce(_:to:)", + "kind": "function", + "tier": "swift-generated", + "jsName": "introduce", + "location": "file://Sources/SwiftDemo/Protocols.swift:36" + }, { "id": "s:9SwiftDemo9makeLabelySo7UILabelCSSF", "path": "makeLabel(_:)", diff --git a/metadata-generator/tests/swift/snapshots/SwiftDemo.ir.json b/metadata-generator/tests/swift/snapshots/SwiftDemo.ir.json index c733a0e8..b42d2964 100644 --- a/metadata-generator/tests/swift/snapshots/SwiftDemo.ir.json +++ b/metadata-generator/tests/swift/snapshots/SwiftDemo.ir.json @@ -19,6 +19,20 @@ "s:9SwiftDemo0B0C", "s:9SwiftDemo5PointV", "s:9SwiftDemo6FlavorO", + "s:9SwiftDemo8GreetingP", + "s:9SwiftDemo6ScorerP", + "s:9SwiftDemo12RankedScorerP", + "s:9SwiftDemo14FormalGreetingC", + "s:9SwiftDemo14DoublingScorerV", + "s:9SwiftDemo9introduce_2toSSAA8Greeting_p_SStF", + "s:9SwiftDemo12makeGreetingyAA0D0_pSSF", + "s:9SwiftDemo4sameyAA8Greeting_pAaC_pF", + "s:9SwiftDemo6exciteyyAA8Greeting_pF", + "s:9SwiftDemo8scoreAllySaySiGAA6Scorer_p_ACtKF", + "s:9SwiftDemo10makeScorerAA0D0_pyF", + "s:9SwiftDemo7topRankySSAA12RankedScorer_pKF", + "s:9SwiftDemo17greetInBackgroundySSAA8Greeting_pYaF", + "s:9SwiftDemo14GreetingHolderC", "s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF", "s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF", "s:9SwiftDemo4flipy0aB3Kit4CoinOAEF", @@ -1571,6 +1585,22 @@ "location": "file://Sources/SwiftDemo/Values.swift:12:12", "graph": "SwiftDemo.symbols.json" }, + { + "id": "s:9SwiftDemo10makeScorerAA0D0_pyF", + "kind": "function", + "path": "makeScorer()", + "name": "makeScorer()", + "access": "public", + "declaration": "func makeScorer() -> any Scorer", + "returns": { + "spelling": "any Scorer", + "references": [ + "s:9SwiftDemo6ScorerP" + ] + }, + "location": "file://Sources/SwiftDemo/Protocols.swift:45:12", + "graph": "SwiftDemo.symbols.json" + }, { "id": "s:9SwiftDemo10namesLaterySaySSGSiYaF", "kind": "function", @@ -1867,6 +1897,41 @@ "location": "file://Sources/SwiftDemo/Values.swift:29:12", "graph": "SwiftDemo.symbols.json" }, + { + "id": "s:9SwiftDemo12RankedScorerP", + "kind": "protocol", + "path": "RankedScorer", + "name": "RankedScorer", + "access": "public", + "declaration": "protocol RankedScorer : Scorer", + "location": "file://Sources/SwiftDemo/Protocols.swift:14:16", + "graph": "SwiftDemo.symbols.json", + "members": [ + "s:9SwiftDemo12RankedScorerP4rankSiSgvp" + ], + "conformances": [ + "s:9SwiftDemo6ScorerP" + ] + }, + { + "id": "s:9SwiftDemo12RankedScorerP4rankSiSgvp", + "kind": "instanceProperty", + "path": "RankedScorer.rank", + "name": "rank", + "access": "public", + "declaration": "var rank: Int? { get }", + "protocolRequirement": true, + "valueType": { + "spelling": "Int?", + "references": [ + "s:Si" + ] + }, + "settable": false, + "location": "file://Sources/SwiftDemo/Protocols.swift:15:8", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo12RankedScorerP" + }, { "id": "s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF", "kind": "function", @@ -1895,6 +1960,33 @@ "location": "file://Sources/SwiftDemo/Views.swift:15:12", "graph": "SwiftDemo.symbols.json" }, + { + "id": "s:9SwiftDemo12makeGreetingyAA0D0_pSSF", + "kind": "function", + "path": "makeGreeting(_:)", + "name": "makeGreeting(_:)", + "access": "public", + "declaration": "func makeGreeting(_ name: String) -> any Greeting", + "parameters": [ + { + "internalName": "name", + "type": { + "spelling": "String", + "references": [ + "s:SS" + ] + } + } + ], + "returns": { + "spelling": "any Greeting", + "references": [ + "s:9SwiftDemo8GreetingP" + ] + }, + "location": "file://Sources/SwiftDemo/Protocols.swift:39:12", + "graph": "SwiftDemo.symbols.json" + }, { "id": "s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF", "kind": "function", @@ -2117,6 +2209,265 @@ "location": "file://Sources/SwiftDemo/Purse.swift:4:12", "graph": "SwiftDemo.symbols.json" }, + { + "id": "s:9SwiftDemo14DoublingScorerV", + "kind": "struct", + "path": "DoublingScorer", + "name": "DoublingScorer", + "access": "public", + "declaration": "struct DoublingScorer", + "location": "file://Sources/SwiftDemo/Protocols.swift:30:14", + "graph": "SwiftDemo.symbols.json", + "members": [ + "s:9SwiftDemo14DoublingScorerVACycfc", + "s:9SwiftDemo14DoublingScorerV5scoreyS2iF" + ], + "conformances": [ + "s:9SwiftDemo6ScorerP" + ] + }, + { + "id": "s:9SwiftDemo14DoublingScorerV5scoreyS2iF", + "kind": "instanceMethod", + "path": "DoublingScorer.score(_:)", + "name": "score(_:)", + "access": "public", + "declaration": "func score(_ value: Int) -> Int", + "parameters": [ + { + "internalName": "value", + "type": { + "spelling": "Int", + "references": [ + "s:Si" + ] + } + } + ], + "returns": { + "spelling": "Int", + "references": [ + "s:Si" + ] + }, + "location": "file://Sources/SwiftDemo/Protocols.swift:32:16", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo14DoublingScorerV", + "sourceOrigin": "s:9SwiftDemo6ScorerP5scoreyS2iKF" + }, + { + "id": "s:9SwiftDemo14DoublingScorerVACycfc", + "kind": "initializer", + "path": "DoublingScorer.init()", + "name": "init()", + "access": "public", + "declaration": "init()", + "location": "file://Sources/SwiftDemo/Protocols.swift:31:11", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo14DoublingScorerV" + }, + { + "id": "s:9SwiftDemo14FormalGreetingC", + "kind": "class", + "path": "FormalGreeting", + "name": "FormalGreeting", + "access": "public", + "declaration": "final class FormalGreeting", + "modifiers": [ + "final" + ], + "location": "file://Sources/SwiftDemo/Protocols.swift:22:19", + "graph": "SwiftDemo.symbols.json", + "members": [ + "s:9SwiftDemo8GreetingPAAE5shoutyS2SF::SYNTHESIZED::s:9SwiftDemo14FormalGreetingC", + "s:9SwiftDemo14FormalGreetingC4nameSSvp", + "s:9SwiftDemo14FormalGreetingC11punctuationSSvp", + "s:9SwiftDemo14FormalGreetingC4nameACSS_tcfc", + "s:9SwiftDemo14FormalGreetingC5greetyS2SF", + "s:9SwiftDemo14FormalGreetingC5resetyyF" + ], + "conformances": [ + "s:9SwiftDemo8GreetingP" + ] + }, + { + "id": "s:9SwiftDemo14FormalGreetingC11punctuationSSvp", + "kind": "instanceProperty", + "path": "FormalGreeting.punctuation", + "name": "punctuation", + "access": "public", + "declaration": "var punctuation: String", + "valueType": { + "spelling": "String", + "references": [ + "s:SS" + ] + }, + "settable": true, + "location": "file://Sources/SwiftDemo/Protocols.swift:24:15", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo14FormalGreetingC", + "sourceOrigin": "s:9SwiftDemo8GreetingP11punctuationSSvp" + }, + { + "id": "s:9SwiftDemo14FormalGreetingC4nameACSS_tcfc", + "kind": "initializer", + "path": "FormalGreeting.init(name:)", + "name": "init(name:)", + "access": "public", + "declaration": "init(name: String)", + "parameters": [ + { + "label": "name", + "internalName": "name", + "type": { + "spelling": "String", + "references": [ + "s:SS" + ] + } + } + ], + "location": "file://Sources/SwiftDemo/Protocols.swift:25:11", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo14FormalGreetingC" + }, + { + "id": "s:9SwiftDemo14FormalGreetingC4nameSSvp", + "kind": "instanceProperty", + "path": "FormalGreeting.name", + "name": "name", + "access": "public", + "declaration": "let name: String", + "valueType": { + "spelling": "String", + "references": [ + "s:SS" + ] + }, + "settable": false, + "let": true, + "location": "file://Sources/SwiftDemo/Protocols.swift:23:15", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo14FormalGreetingC", + "sourceOrigin": "s:9SwiftDemo8GreetingP4nameSSvp" + }, + { + "id": "s:9SwiftDemo14FormalGreetingC5greetyS2SF", + "kind": "instanceMethod", + "path": "FormalGreeting.greet(_:)", + "name": "greet(_:)", + "access": "public", + "declaration": "func greet(_ other: String) -> String", + "parameters": [ + { + "internalName": "other", + "type": { + "spelling": "String", + "references": [ + "s:SS" + ] + } + } + ], + "returns": { + "spelling": "String", + "references": [ + "s:SS" + ] + }, + "location": "file://Sources/SwiftDemo/Protocols.swift:26:16", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo14FormalGreetingC", + "sourceOrigin": "s:9SwiftDemo8GreetingP5greetyS2SF" + }, + { + "id": "s:9SwiftDemo14FormalGreetingC5resetyyF", + "kind": "instanceMethod", + "path": "FormalGreeting.reset()", + "name": "reset()", + "access": "public", + "declaration": "func reset()", + "location": "file://Sources/SwiftDemo/Protocols.swift:27:16", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo14FormalGreetingC", + "sourceOrigin": "s:9SwiftDemo8GreetingP5resetyyF" + }, + { + "id": "s:9SwiftDemo14GreetingHolderC", + "kind": "class", + "path": "GreetingHolder", + "name": "GreetingHolder", + "access": "public", + "declaration": "final class GreetingHolder", + "modifiers": [ + "final" + ], + "location": "file://Sources/SwiftDemo/Protocols.swift:60:19", + "graph": "SwiftDemo.symbols.json", + "members": [ + "s:9SwiftDemo14GreetingHolderC8greetingAA0C0_pSgvp", + "s:9SwiftDemo14GreetingHolderCACycfc", + "s:9SwiftDemo14GreetingHolderC5greetySSSgSSF" + ] + }, + { + "id": "s:9SwiftDemo14GreetingHolderC5greetySSSgSSF", + "kind": "instanceMethod", + "path": "GreetingHolder.greet(_:)", + "name": "greet(_:)", + "access": "public", + "declaration": "func greet(_ other: String) -> String?", + "parameters": [ + { + "internalName": "other", + "type": { + "spelling": "String", + "references": [ + "s:SS" + ] + } + } + ], + "returns": { + "spelling": "String?", + "references": [ + "s:SS" + ] + }, + "location": "file://Sources/SwiftDemo/Protocols.swift:63:16", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo14GreetingHolderC" + }, + { + "id": "s:9SwiftDemo14GreetingHolderC8greetingAA0C0_pSgvp", + "kind": "instanceProperty", + "path": "GreetingHolder.greeting", + "name": "greeting", + "access": "public", + "declaration": "var greeting: (any Greeting)?", + "valueType": { + "spelling": "(any Greeting)?", + "references": [ + "s:9SwiftDemo8GreetingP" + ] + }, + "settable": true, + "location": "file://Sources/SwiftDemo/Protocols.swift:61:15", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo14GreetingHolderC" + }, + { + "id": "s:9SwiftDemo14GreetingHolderCACycfc", + "kind": "initializer", + "path": "GreetingHolder.init()", + "name": "init()", + "access": "public", + "declaration": "init()", + "location": "file://Sources/SwiftDemo/Protocols.swift:62:11", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo14GreetingHolderC" + }, { "id": "s:9SwiftDemo16makeDefaultPointAA0E0VyF", "kind": "function", @@ -2162,6 +2513,34 @@ "location": "file://Sources/SwiftDemo/Values.swift:35:12", "graph": "SwiftDemo.symbols.json" }, + { + "id": "s:9SwiftDemo17greetInBackgroundySSAA8Greeting_pYaF", + "kind": "function", + "path": "greetInBackground(_:)", + "name": "greetInBackground(_:)", + "access": "public", + "declaration": "func greetInBackground(_ greeting: any Greeting) async -> String", + "parameters": [ + { + "internalName": "greeting", + "type": { + "spelling": "any Greeting", + "references": [ + "s:9SwiftDemo8GreetingP" + ] + } + } + ], + "returns": { + "spelling": "String", + "references": [ + "s:SS" + ] + }, + "async": true, + "location": "file://Sources/SwiftDemo/Protocols.swift:55:12", + "graph": "SwiftDemo.symbols.json" + }, { "id": "s:9SwiftDemo3JobO", "kind": "enum", @@ -2647,6 +3026,33 @@ "location": "file://Sources/SwiftDemo/Values.swift:68:12", "graph": "SwiftDemo.symbols.json" }, + { + "id": "s:9SwiftDemo4sameyAA8Greeting_pAaC_pF", + "kind": "function", + "path": "same(_:)", + "name": "same(_:)", + "access": "public", + "declaration": "func same(_ greeting: any Greeting) -> any Greeting", + "parameters": [ + { + "internalName": "greeting", + "type": { + "spelling": "any Greeting", + "references": [ + "s:9SwiftDemo8GreetingP" + ] + } + } + ], + "returns": { + "spelling": "any Greeting", + "references": [ + "s:9SwiftDemo8GreetingP" + ] + }, + "location": "file://Sources/SwiftDemo/Protocols.swift:40:12", + "graph": "SwiftDemo.symbols.json" + }, { "id": "s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF", "kind": "function", @@ -3594,6 +4000,49 @@ "graph": "SwiftDemo.symbols.json", "parent": "s:9SwiftDemo6LoaderC" }, + { + "id": "s:9SwiftDemo6ScorerP", + "kind": "protocol", + "path": "Scorer", + "name": "Scorer", + "access": "public", + "declaration": "protocol Scorer", + "location": "file://Sources/SwiftDemo/Protocols.swift:9:16", + "graph": "SwiftDemo.symbols.json", + "members": [ + "s:9SwiftDemo6ScorerP5scoreyS2iKF" + ] + }, + { + "id": "s:9SwiftDemo6ScorerP5scoreyS2iKF", + "kind": "instanceMethod", + "path": "Scorer.score(_:)", + "name": "score(_:)", + "access": "public", + "declaration": "func score(_ value: Int) throws -> Int", + "protocolRequirement": true, + "parameters": [ + { + "internalName": "value", + "type": { + "spelling": "Int", + "references": [ + "s:Si" + ] + } + } + ], + "returns": { + "spelling": "Int", + "references": [ + "s:Si" + ] + }, + "throws": true, + "location": "file://Sources/SwiftDemo/Protocols.swift:10:9", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo6ScorerP" + }, { "id": "s:9SwiftDemo6SquareC", "kind": "class", @@ -3792,6 +4241,27 @@ "location": "file://Sources/SwiftDemo/Values.swift:166:12", "graph": "SwiftDemo.symbols.json" }, + { + "id": "s:9SwiftDemo6exciteyyAA8Greeting_pF", + "kind": "function", + "path": "excite(_:)", + "name": "excite(_:)", + "access": "public", + "declaration": "func excite(_ greeting: any Greeting)", + "parameters": [ + { + "internalName": "greeting", + "type": { + "spelling": "any Greeting", + "references": [ + "s:9SwiftDemo8GreetingP" + ] + } + } + ], + "location": "file://Sources/SwiftDemo/Protocols.swift:41:12", + "graph": "SwiftDemo.symbols.json" + }, { "id": "s:9SwiftDemo6settley0aB3Kit7OutcomeOySiGSiF", "kind": "function", @@ -5069,6 +5539,196 @@ "location": "file://Sources/SwiftDemo/Values.swift:66:12", "graph": "SwiftDemo.symbols.json" }, + { + "id": "s:9SwiftDemo7topRankySSAA12RankedScorer_pKF", + "kind": "function", + "path": "topRank(_:)", + "name": "topRank(_:)", + "access": "public", + "declaration": "func topRank(_ scorer: any RankedScorer) throws -> String", + "parameters": [ + { + "internalName": "scorer", + "type": { + "spelling": "any RankedScorer", + "references": [ + "s:9SwiftDemo12RankedScorerP" + ] + } + } + ], + "returns": { + "spelling": "String", + "references": [ + "s:SS" + ] + }, + "throws": true, + "location": "file://Sources/SwiftDemo/Protocols.swift:46:12", + "graph": "SwiftDemo.symbols.json" + }, + { + "id": "s:9SwiftDemo8GreetingP", + "kind": "protocol", + "path": "Greeting", + "name": "Greeting", + "access": "public", + "declaration": "protocol Greeting : AnyObject", + "location": "file://Sources/SwiftDemo/Protocols.swift:2:16", + "graph": "SwiftDemo.symbols.json", + "members": [ + "s:9SwiftDemo8GreetingP4nameSSvp", + "s:9SwiftDemo8GreetingP11punctuationSSvp", + "s:9SwiftDemo8GreetingP5greetyS2SF", + "s:9SwiftDemo8GreetingP5resetyyF", + "s:9SwiftDemo8GreetingPAAE5shoutyS2SF" + ] + }, + { + "id": "s:9SwiftDemo8GreetingP11punctuationSSvp", + "kind": "instanceProperty", + "path": "Greeting.punctuation", + "name": "punctuation", + "access": "public", + "declaration": "var punctuation: String { get set }", + "protocolRequirement": true, + "valueType": { + "spelling": "String", + "references": [ + "s:SS" + ] + }, + "settable": true, + "location": "file://Sources/SwiftDemo/Protocols.swift:4:8", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo8GreetingP" + }, + { + "id": "s:9SwiftDemo8GreetingP4nameSSvp", + "kind": "instanceProperty", + "path": "Greeting.name", + "name": "name", + "access": "public", + "declaration": "var name: String { get }", + "protocolRequirement": true, + "valueType": { + "spelling": "String", + "references": [ + "s:SS" + ] + }, + "settable": false, + "location": "file://Sources/SwiftDemo/Protocols.swift:3:8", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo8GreetingP" + }, + { + "id": "s:9SwiftDemo8GreetingP5greetyS2SF", + "kind": "instanceMethod", + "path": "Greeting.greet(_:)", + "name": "greet(_:)", + "access": "public", + "declaration": "func greet(_ other: String) -> String", + "protocolRequirement": true, + "parameters": [ + { + "internalName": "other", + "type": { + "spelling": "String", + "references": [ + "s:SS" + ] + } + } + ], + "returns": { + "spelling": "String", + "references": [ + "s:SS" + ] + }, + "location": "file://Sources/SwiftDemo/Protocols.swift:5:9", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo8GreetingP" + }, + { + "id": "s:9SwiftDemo8GreetingP5resetyyF", + "kind": "instanceMethod", + "path": "Greeting.reset()", + "name": "reset()", + "access": "public", + "declaration": "func reset()", + "protocolRequirement": true, + "location": "file://Sources/SwiftDemo/Protocols.swift:6:9", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo8GreetingP" + }, + { + "id": "s:9SwiftDemo8GreetingPAAE5shoutyS2SF", + "kind": "instanceMethod", + "path": "Greeting.shout(_:)", + "name": "shout(_:)", + "access": "public", + "declaration": "func shout(_ other: String) -> String", + "parameters": [ + { + "internalName": "other", + "type": { + "spelling": "String", + "references": [ + "s:SS" + ] + } + } + ], + "returns": { + "spelling": "String", + "references": [ + "s:SS" + ] + }, + "extension": { + "extendedModule": "SwiftDemo", + "typeKind": "swift.protocol" + }, + "location": "file://Sources/SwiftDemo/Protocols.swift:19:16", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo8GreetingP" + }, + { + "id": "s:9SwiftDemo8GreetingPAAE5shoutyS2SF::SYNTHESIZED::s:9SwiftDemo14FormalGreetingC", + "kind": "instanceMethod", + "path": "FormalGreeting.shout(_:)", + "name": "shout(_:)", + "access": "public", + "declaration": "func shout(_ other: String) -> String", + "synthesized": true, + "parameters": [ + { + "internalName": "other", + "type": { + "spelling": "String", + "references": [ + "s:SS" + ] + } + } + ], + "returns": { + "spelling": "String", + "references": [ + "s:SS" + ] + }, + "extension": { + "extendedModule": "SwiftDemo", + "typeKind": "swift.protocol" + }, + "location": "file://Sources/SwiftDemo/Protocols.swift:19:16", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo14FormalGreetingC", + "sourceOrigin": "s:9SwiftDemo8GreetingPAAE5shoutyS2SF" + }, { "id": "s:9SwiftDemo8NotifierC", "kind": "class", @@ -5425,6 +6085,43 @@ "location": "file://Sources/SwiftDemo/Values.swift:57:12", "graph": "SwiftDemo.symbols.json" }, + { + "id": "s:9SwiftDemo8scoreAllySaySiGAA6Scorer_p_ACtKF", + "kind": "function", + "path": "scoreAll(_:_:)", + "name": "scoreAll(_:_:)", + "access": "public", + "declaration": "func scoreAll(_ scorer: any Scorer, _ values: [Int]) throws -> [Int]", + "parameters": [ + { + "internalName": "scorer", + "type": { + "spelling": "any Scorer", + "references": [ + "s:9SwiftDemo6ScorerP" + ] + } + }, + { + "internalName": "values", + "type": { + "spelling": "[Int]", + "references": [ + "s:Si" + ] + } + } + ], + "returns": { + "spelling": "[Int]", + "references": [ + "s:Si" + ] + }, + "throws": true, + "location": "file://Sources/SwiftDemo/Protocols.swift:42:12", + "graph": "SwiftDemo.symbols.json" + }, { "id": "s:9SwiftDemo8simplifyyAA7FormulaOADF", "kind": "function", @@ -5512,6 +6209,43 @@ "location": "file://Sources/SwiftDemo/Values.swift:74:12", "graph": "SwiftDemo.symbols.json" }, + { + "id": "s:9SwiftDemo9introduce_2toSSAA8Greeting_p_SStF", + "kind": "function", + "path": "introduce(_:to:)", + "name": "introduce(_:to:)", + "access": "public", + "declaration": "func introduce(_ greeting: any Greeting, to other: String) -> String", + "parameters": [ + { + "internalName": "greeting", + "type": { + "spelling": "any Greeting", + "references": [ + "s:9SwiftDemo8GreetingP" + ] + } + }, + { + "label": "to", + "internalName": "other", + "type": { + "spelling": "String", + "references": [ + "s:SS" + ] + } + } + ], + "returns": { + "spelling": "String", + "references": [ + "s:SS" + ] + }, + "location": "file://Sources/SwiftDemo/Protocols.swift:35:12", + "graph": "SwiftDemo.symbols.json" + }, { "id": "s:9SwiftDemo9makeLabelySo7UILabelCSSF", "kind": "function", diff --git a/metadata-generator/tests/swift/snapshots/SwiftDemo.probe.swift b/metadata-generator/tests/swift/snapshots/SwiftDemo.probe.swift index f0e00412..c9d25fe6 100644 --- a/metadata-generator/tests/swift/snapshots/SwiftDemo.probe.swift +++ b/metadata-generator/tests/swift/snapshots/SwiftDemo.probe.swift @@ -250,780 +250,939 @@ func __nsProbe50() { let _: Int = SwiftDemo.`largestInt`() } +// s:9SwiftDemo10makeScorerAA0D0_pyF +func __nsProbe51() { + let _: any SwiftDemo.Scorer = SwiftDemo.`makeScorer`() +} + // s:9SwiftDemo10namesLaterySaySSGSiYaF -func __nsProbe51(_ a0: Int) async { +func __nsProbe52(_ a0: Int) async { let _: [String] = await SwiftDemo.`namesLater`(a0) } // s:9SwiftDemo10wordCountsySDySSSiGSaySSGF -func __nsProbe52(_ a0: [String]) { +func __nsProbe53(_ a0: [String]) { let _: [String: Int] = SwiftDemo.`wordCounts`(a0) } // s:9SwiftDemo11MeasurementO -func __nsProbe53(_ value: SwiftDemo.Measurement) -> SwiftDemo.Measurement { value } +func __nsProbe54(_ value: SwiftDemo.Measurement) -> SwiftDemo.Measurement { value } // s:9SwiftDemo11MeasurementO4UnitV -func __nsProbe54(_ value: SwiftDemo.Measurement.Unit) -> SwiftDemo.Measurement.Unit { value } +func __nsProbe55(_ value: SwiftDemo.Measurement.Unit) -> SwiftDemo.Measurement.Unit { value } // s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc -func __nsProbe55(_ a0: String) { +func __nsProbe56(_ a0: String) { let _: SwiftDemo.Measurement.Unit = SwiftDemo.Measurement.Unit(symbol: a0) } // s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp -func __nsProbe56(_ receiver: inout SwiftDemo.Measurement.Unit, _ newValue: String) { +func __nsProbe57(_ receiver: inout SwiftDemo.Measurement.Unit, _ newValue: String) { let _: String = receiver.`symbol` receiver.`symbol` = newValue } // s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF -func __nsProbe57(_ a0: Double, _ a1: Double) { +func __nsProbe58(_ a0: Double, _ a1: Double) { let _: SwiftDemo.Measurement = SwiftDemo.Measurement.`area`(width: a0, height: a1) } // s:9SwiftDemo11MeasurementO4noneyA2CmF -func __nsProbe58() { +func __nsProbe59() { let _: SwiftDemo.Measurement = SwiftDemo.Measurement.`none` } // s:9SwiftDemo11MeasurementO6isNoneSbvp -func __nsProbe59(_ receiver: SwiftDemo.Measurement) { +func __nsProbe60(_ receiver: SwiftDemo.Measurement) { let _: Bool = receiver.`isNone` } // s:9SwiftDemo11MeasurementO6lengthyACSdcACmF -func __nsProbe60(_ a0: Double) { +func __nsProbe61(_ a0: Double) { let _: SwiftDemo.Measurement = SwiftDemo.Measurement.`length`(a0) } // s:9SwiftDemo11checkedSideyS2dKF -func __nsProbe61(_ a0: Double) throws { +func __nsProbe62(_ a0: Double) throws { let _: Double = try SwiftDemo.`checkedSide`(a0) } // s:9SwiftDemo11delayedEcho_5afterS2S_SdtYaKF -func __nsProbe62(_ a0: String, _ a1: Double) async throws { +func __nsProbe63(_ a0: String, _ a1: Double) async throws { let _: String = try await SwiftDemo.`delayedEcho`(a0, after: a1) } +// s:9SwiftDemo12RankedScorerP +func __nsProbe64(_ value: any SwiftDemo.RankedScorer) -> any SwiftDemo.RankedScorer { value } + +// s:9SwiftDemo12RankedScorerP4rankSiSgvp +func __nsProbe65(_ receiver: any SwiftDemo.RankedScorer) { + let _: Int? = receiver.`rank` +} + // s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF -func __nsProbe63(_ a0: UIView) { +func __nsProbe66(_ a0: UIView) { let _: UIView? = SwiftDemo.`firstSubview`(of: a0) } +// s:9SwiftDemo12makeGreetingyAA0D0_pSSF +func __nsProbe67(_ a0: String) { + let _: any SwiftDemo.Greeting = SwiftDemo.`makeGreeting`(a0) +} + // s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF -func __nsProbe64(_ a0: Double) async { +func __nsProbe68(_ a0: Double) async { let _: SwiftDemo.Measurement = await SwiftDemo.`measureLater`(a0) } // s:9SwiftDemo12measurementsSayAA11MeasurementOGyF -func __nsProbe65() { +func __nsProbe69() { let _: [SwiftDemo.Measurement] = SwiftDemo.`measurements`() } // s:9SwiftDemo12swapTrackersyyAA7TrackerCz_ADztF -func __nsProbe66(_ a0: inout SwiftDemo.Tracker, _ a1: inout SwiftDemo.Tracker) { +func __nsProbe70(_ a0: inout SwiftDemo.Tracker, _ a1: inout SwiftDemo.Tracker) { let _: Void = SwiftDemo.`swapTrackers`(&a0, &a1) } // s:9SwiftDemo13PrecipitationO -func __nsProbe67(_ value: SwiftDemo.Precipitation) -> SwiftDemo.Precipitation { value } +func __nsProbe71(_ value: SwiftDemo.Precipitation) -> SwiftDemo.Precipitation { value } // s:9SwiftDemo13PrecipitationO4noneyA2CmF -func __nsProbe68() { +func __nsProbe72() { let _: SwiftDemo.Precipitation = SwiftDemo.Precipitation.`none` } // s:9SwiftDemo13PrecipitationO4rainyA2CmF -func __nsProbe69() { +func __nsProbe73() { let _: SwiftDemo.Precipitation = SwiftDemo.Precipitation.`rain` } // s:9SwiftDemo13PrecipitationO4snowyA2CmF -func __nsProbe70() { +func __nsProbe74() { let _: SwiftDemo.Precipitation = SwiftDemo.Precipitation.`snow` } // s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc -func __nsProbe71(_ a0: String) { +func __nsProbe75(_ a0: String) { let _: SwiftDemo.Precipitation? = SwiftDemo.Precipitation(rawValue: a0) } // s:9SwiftDemo13defaultFlavorAA0D0Ovp -func __nsProbe72() { +func __nsProbe76() { let _: SwiftDemo.Flavor = SwiftDemo.`defaultFlavor` } // s:9SwiftDemo13globalCounterSivp -func __nsProbe73(_ newValue: Int) { +func __nsProbe77(_ newValue: Int) { let _: Int = SwiftDemo.`globalCounter` SwiftDemo.`globalCounter` = newValue } // s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF -func __nsProbe74(_ a0: String) { +func __nsProbe78(_ a0: String) { let _: SwiftDemoKit.Wallet = SwiftDemo.`starterWallet`(for: a0) } +// s:9SwiftDemo14DoublingScorerV +func __nsProbe79(_ value: SwiftDemo.DoublingScorer) -> SwiftDemo.DoublingScorer { value } + +// s:9SwiftDemo14DoublingScorerV5scoreyS2iF +func __nsProbe80(_ receiver: SwiftDemo.DoublingScorer, _ a0: Int) { + let _: Int = receiver.`score`(a0) +} + +// s:9SwiftDemo14DoublingScorerVACycfc +func __nsProbe81() { + let _: SwiftDemo.DoublingScorer = SwiftDemo.DoublingScorer() +} + +// s:9SwiftDemo14FormalGreetingC +func __nsProbe82(_ value: SwiftDemo.FormalGreeting) -> SwiftDemo.FormalGreeting { value } + +// s:9SwiftDemo14FormalGreetingC11punctuationSSvp +func __nsProbe83(_ receiver: SwiftDemo.FormalGreeting, _ newValue: String) { + let _: String = receiver.`punctuation` + receiver.`punctuation` = newValue +} + +// s:9SwiftDemo14FormalGreetingC4nameACSS_tcfc +func __nsProbe84(_ a0: String) { + let _: SwiftDemo.FormalGreeting = SwiftDemo.FormalGreeting(name: a0) +} + +// s:9SwiftDemo14FormalGreetingC4nameSSvp +func __nsProbe85(_ receiver: SwiftDemo.FormalGreeting) { + let _: String = receiver.`name` +} + +// s:9SwiftDemo14FormalGreetingC5greetyS2SF +func __nsProbe86(_ receiver: SwiftDemo.FormalGreeting, _ a0: String) { + let _: String = receiver.`greet`(a0) +} + +// s:9SwiftDemo14FormalGreetingC5resetyyF +func __nsProbe87(_ receiver: SwiftDemo.FormalGreeting) { + let _: Void = receiver.`reset`() +} + +// s:9SwiftDemo14GreetingHolderC +func __nsProbe88(_ value: SwiftDemo.GreetingHolder) -> SwiftDemo.GreetingHolder { value } + +// s:9SwiftDemo14GreetingHolderC5greetySSSgSSF +func __nsProbe89(_ receiver: SwiftDemo.GreetingHolder, _ a0: String) { + let _: String? = receiver.`greet`(a0) +} + +// s:9SwiftDemo14GreetingHolderC8greetingAA0C0_pSgvp +func __nsProbe90(_ receiver: SwiftDemo.GreetingHolder, _ newValue: (any SwiftDemo.Greeting)?) { + let _: (any SwiftDemo.Greeting)? = receiver.`greeting` + receiver.`greeting` = newValue +} + +// s:9SwiftDemo14GreetingHolderCACycfc +func __nsProbe91() { + let _: SwiftDemo.GreetingHolder = SwiftDemo.GreetingHolder() +} + // s:9SwiftDemo16makeDefaultPointAA0E0VyF -func __nsProbe75() { +func __nsProbe92() { let _: SwiftDemo.Point = SwiftDemo.`makeDefaultPoint`() } // s:9SwiftDemo16makeTrackerLater2idAA0D0CSi_tYaF -func __nsProbe76(_ a0: Int) async { +func __nsProbe93(_ a0: Int) async { let _: SwiftDemo.Tracker = await SwiftDemo.`makeTrackerLater`(id: a0) } +// s:9SwiftDemo17greetInBackgroundySSAA8Greeting_pYaF +func __nsProbe94(_ a0: any SwiftDemo.Greeting) async { + let _: String = await SwiftDemo.`greetInBackground`(a0) +} + // s:9SwiftDemo3JobO6TicketV -func __nsProbe77(_ value: SwiftDemo.Job.Ticket) -> SwiftDemo.Job.Ticket { value } +func __nsProbe95(_ value: SwiftDemo.Job.Ticket) -> SwiftDemo.Job.Ticket { value } // s:9SwiftDemo3JobO6TicketV2idAESi_tcfc -func __nsProbe78(_ a0: Int) { +func __nsProbe96(_ a0: Int) { let _: SwiftDemo.Job.Ticket = SwiftDemo.Job.Ticket(id: a0) } // s:9SwiftDemo3JobO6TicketV2idSivp -func __nsProbe79(_ receiver: inout SwiftDemo.Job.Ticket, _ newValue: Int) { +func __nsProbe97(_ receiver: inout SwiftDemo.Job.Ticket, _ newValue: Int) { let _: Int = receiver.`id` receiver.`id` = newValue } // s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF -func __nsProbe80(_ a0: [SwiftDemoKit.Money]) { +func __nsProbe98(_ a0: [SwiftDemoKit.Money]) { let _: SwiftDemoKit.Money = SwiftDemo.`sum`(of: a0) } // s:9SwiftDemo4RingV -func __nsProbe81(_ value: SwiftDemo.Ring) -> SwiftDemo.Ring { value } +func __nsProbe99(_ value: SwiftDemo.Ring) -> SwiftDemo.Ring { value } // s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc -func __nsProbe82(_ a0: SwiftDemo.Point, _ a1: SwiftDemo.Point) { +func __nsProbe100(_ a0: SwiftDemo.Point, _ a1: SwiftDemo.Point) { let _: SwiftDemo.Ring = SwiftDemo.Ring(inner: a0, outer: a1) } // s:9SwiftDemo4RingV5innerAA5PointVvp -func __nsProbe83(_ receiver: inout SwiftDemo.Ring, _ newValue: SwiftDemo.Point) { +func __nsProbe101(_ receiver: inout SwiftDemo.Ring, _ newValue: SwiftDemo.Point) { let _: SwiftDemo.Point = receiver.`inner` receiver.`inner` = newValue } // s:9SwiftDemo4RingV5outerAA5PointVvp -func __nsProbe84(_ receiver: inout SwiftDemo.Ring, _ newValue: SwiftDemo.Point) { +func __nsProbe102(_ receiver: inout SwiftDemo.Ring, _ newValue: SwiftDemo.Point) { let _: SwiftDemo.Point = receiver.`outer` receiver.`outer` = newValue } // s:9SwiftDemo4RingV6expand2byySd_tF -func __nsProbe85(_ receiver: inout SwiftDemo.Ring, _ a0: Double) { +func __nsProbe103(_ receiver: inout SwiftDemo.Ring, _ a0: Double) { let _: Void = receiver.`expand`(by: a0) } // s:9SwiftDemo4area2ofSdAA11MeasurementO_tF -func __nsProbe86(_ a0: SwiftDemo.Measurement) { +func __nsProbe104(_ a0: SwiftDemo.Measurement) { let _: Double = SwiftDemo.`area`(of: a0) } // s:9SwiftDemo4bumpyySizF -func __nsProbe87(_ a0: inout Int) { +func __nsProbe105(_ a0: inout Int) { let _: Void = SwiftDemo.`bump`(&a0) } // s:9SwiftDemo4echoyAA7PayloadOADF -func __nsProbe88(_ a0: SwiftDemo.Payload) { +func __nsProbe106(_ a0: SwiftDemo.Payload) { let _: SwiftDemo.Payload = SwiftDemo.`echo`(a0) } // s:9SwiftDemo4flipy0aB3Kit4CoinOAEF -func __nsProbe89(_ a0: SwiftDemoKit.Coin) { +func __nsProbe107(_ a0: SwiftDemoKit.Coin) { let _: SwiftDemoKit.Coin = SwiftDemo.`flip`(a0) } // s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF -func __nsProbe90(_ a0: URL) { +func __nsProbe108(_ a0: URL) { let _: String? = SwiftDemo.`host`(of: a0) } // s:9SwiftDemo4rampy10Foundation4DataVSiF -func __nsProbe91(_ a0: Int) { +func __nsProbe109(_ a0: Int) { let _: Data = SwiftDemo.`ramp`(a0) } +// s:9SwiftDemo4sameyAA8Greeting_pAaC_pF +func __nsProbe110(_ a0: any SwiftDemo.Greeting) { + let _: any SwiftDemo.Greeting = SwiftDemo.`same`(a0) +} + // s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF -func __nsProbe92(_ a0: [UIView]) { +func __nsProbe111(_ a0: [UIView]) { let _: [Int] = SwiftDemo.`tags`(a0) } // s:9SwiftDemo4text2ofSSAA4NoteC_tF -func __nsProbe93(_ a0: SwiftDemo.Note) { +func __nsProbe112(_ a0: SwiftDemo.Note) { let _: String = SwiftDemo.`text`(of: a0) } // s:9SwiftDemo5PointV -func __nsProbe94(_ value: SwiftDemo.Point) -> SwiftDemo.Point { value } +func __nsProbe113(_ value: SwiftDemo.Point) -> SwiftDemo.Point { value } // s:9SwiftDemo5PointV11descriptionSSvp -func __nsProbe95(_ receiver: SwiftDemo.Point) { +func __nsProbe114(_ receiver: SwiftDemo.Point) { let _: String = receiver.`description` } // s:9SwiftDemo5PointV1x1yACSd_Sdtcfc -func __nsProbe96(_ a0: Double, _ a1: Double) { +func __nsProbe115(_ a0: Double, _ a1: Double) { let _: SwiftDemo.Point = SwiftDemo.Point(x: a0, y: a1) } // s:9SwiftDemo5PointV1xSdvp -func __nsProbe97(_ receiver: inout SwiftDemo.Point, _ newValue: Double) { +func __nsProbe116(_ receiver: inout SwiftDemo.Point, _ newValue: Double) { let _: Double = receiver.`x` receiver.`x` = newValue } // s:9SwiftDemo5PointV1ySdvp -func __nsProbe98(_ receiver: inout SwiftDemo.Point, _ newValue: Double) { +func __nsProbe117(_ receiver: inout SwiftDemo.Point, _ newValue: Double) { let _: Double = receiver.`y` receiver.`y` = newValue } // s:9SwiftDemo5PointV6lengthSdvp -func __nsProbe99(_ receiver: SwiftDemo.Point) { +func __nsProbe118(_ receiver: SwiftDemo.Point) { let _: Double = receiver.`length` } // s:9SwiftDemo5boxedy0aB3Kit3BoxCyAC5MoneyVGAGF -func __nsProbe100(_ a0: SwiftDemoKit.Money) { +func __nsProbe119(_ a0: SwiftDemoKit.Money) { let _: SwiftDemoKit.Box = SwiftDemo.`boxed`(a0) } // s:9SwiftDemo5clearyySSSgzF -func __nsProbe101(_ a0: inout String?) { +func __nsProbe120(_ a0: inout String?) { let _: Void = SwiftDemo.`clear`(&a0) } // s:9SwiftDemo5halveyySizKF -func __nsProbe102(_ a0: inout Int) throws { +func __nsProbe121(_ a0: inout Int) throws { let _: Void = try SwiftDemo.`halve`(&a0) } // s:9SwiftDemo5namesySaySSGSiF -func __nsProbe103(_ a0: Int) { +func __nsProbe122(_ a0: Int) { let _: [String] = SwiftDemo.`names`(a0) } // s:9SwiftDemo5shoutySSSgACF -func __nsProbe104(_ a0: String?) { +func __nsProbe123(_ a0: String?) { let _: String? = SwiftDemo.`shout`(a0) } // s:9SwiftDemo5totalySdSaySdGF -func __nsProbe105(_ a0: [Double]) { +func __nsProbe124(_ a0: [Double]) { let _: Double = SwiftDemo.`total`(a0) } // s:9SwiftDemo6CanvasC -func __nsProbe106(_ value: SwiftDemo.Canvas) -> SwiftDemo.Canvas { value } +func __nsProbe125(_ value: SwiftDemo.Canvas) -> SwiftDemo.Canvas { value } // s:9SwiftDemo6CanvasCACycfc @MainActor -func __nsProbe107() { +func __nsProbe126() { let _: SwiftDemo.Canvas = SwiftDemo.Canvas() } // s:9SwiftDemo6FlavorO -func __nsProbe108(_ value: SwiftDemo.Flavor) -> SwiftDemo.Flavor { value } +func __nsProbe127(_ value: SwiftDemo.Flavor) -> SwiftDemo.Flavor { value } // s:9SwiftDemo6FlavorO11descriptionSSvp -func __nsProbe109(_ receiver: SwiftDemo.Flavor) { +func __nsProbe128(_ receiver: SwiftDemo.Flavor) { let _: String = receiver.`description` } // s:9SwiftDemo6FlavorO7vanillayA2CmF -func __nsProbe110() { +func __nsProbe129() { let _: SwiftDemo.Flavor = SwiftDemo.Flavor.`vanilla` } // s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc -func __nsProbe111(_ a0: Int) { +func __nsProbe130(_ a0: Int) { let _: SwiftDemo.Flavor? = SwiftDemo.Flavor(rawValue: a0) } // s:9SwiftDemo6FlavorO9chocolateyA2CmF -func __nsProbe112() { +func __nsProbe131() { let _: SwiftDemo.Flavor = SwiftDemo.Flavor.`chocolate` } // s:9SwiftDemo6LoaderC -func __nsProbe113(_ value: SwiftDemo.Loader) -> SwiftDemo.Loader { value } +func __nsProbe132(_ value: SwiftDemo.Loader) -> SwiftDemo.Loader { value } // s:9SwiftDemo6LoaderC10modernOnlyyyF @available(iOS 16.0, *) -func __nsProbe114(_ receiver: SwiftDemo.Loader) { +func __nsProbe133(_ receiver: SwiftDemo.Loader) { let _: Void = receiver.`modernOnly`() } // s:9SwiftDemo6LoaderC11legacyFetchyyF -func __nsProbe115(_ receiver: SwiftDemo.Loader) { +func __nsProbe134(_ receiver: SwiftDemo.Loader) { let _: Void = receiver.`legacyFetch`() } // s:9SwiftDemo6LoaderC4eachyyySiXEF -func __nsProbe116(_ receiver: SwiftDemo.Loader, _ a0: (Int) -> Void) { +func __nsProbe135(_ receiver: SwiftDemo.Loader, _ a0: (Int) -> Void) { let _: Void = receiver.`each`(a0) } // s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF -func __nsProbe117(_ receiver: SwiftDemo.Loader, _ a0: String) throws { +func __nsProbe136(_ receiver: SwiftDemo.Loader, _ a0: String) throws { let _: Data = try receiver.`load`(path: a0) } // s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF -func __nsProbe118(_ receiver: SwiftDemo.Loader, _ a0: Double) async { +func __nsProbe137(_ receiver: SwiftDemo.Loader, _ a0: Double) async { let _: Void = await receiver.`wait`(seconds: a0) } // s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF -func __nsProbe119(_ receiver: SwiftDemo.Loader, _ a0: URL) async throws { +func __nsProbe138(_ receiver: SwiftDemo.Loader, _ a0: URL) async throws { let _: String = try await receiver.`fetch`(url: a0) } // s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF -func __nsProbe120(_ receiver: SwiftDemo.Loader, _ a0: [String: Int], _ a1: String) { +func __nsProbe139(_ receiver: SwiftDemo.Loader, _ a0: [String: Int], _ a1: String) { let _: Int? = receiver.`lookup`(table: a0, key: a1) } // s:9SwiftDemo6LoaderC6updateyyAA5PointVzF -func __nsProbe121(_ receiver: SwiftDemo.Loader, _ a0: inout SwiftDemo.Point) { +func __nsProbe140(_ receiver: SwiftDemo.Loader, _ a0: inout SwiftDemo.Point) { let _: Void = receiver.`update`(&a0) } // s:9SwiftDemo6LoaderC8oldFetchyyF -func __nsProbe122(_ receiver: SwiftDemo.Loader) { +func __nsProbe141(_ receiver: SwiftDemo.Loader) { let _: Void = receiver.`oldFetch`() } // s:9SwiftDemo6LoaderCACycfc -func __nsProbe123() { +func __nsProbe142() { let _: SwiftDemo.Loader = SwiftDemo.Loader() } +// s:9SwiftDemo6ScorerP +func __nsProbe143(_ value: any SwiftDemo.Scorer) -> any SwiftDemo.Scorer { value } + +// s:9SwiftDemo6ScorerP5scoreyS2iKF +func __nsProbe144(_ receiver: any SwiftDemo.Scorer, _ a0: Int) throws { + let _: Int = try receiver.`score`(a0) +} + // s:9SwiftDemo6SquareC -func __nsProbe124(_ value: SwiftDemo.Square) -> SwiftDemo.Square { value } +func __nsProbe145(_ value: SwiftDemo.Square) -> SwiftDemo.Square { value } // s:9SwiftDemo6SquareC4areaSdvp -func __nsProbe125(_ receiver: SwiftDemo.Square) { +func __nsProbe146(_ receiver: SwiftDemo.Square) { let _: Double = receiver.`area` } // s:9SwiftDemo6SquareC4sideACSd_tcfc -func __nsProbe126(_ a0: Double) { +func __nsProbe147(_ a0: Double) { let _: SwiftDemo.Square = SwiftDemo.Square(side: a0) } // s:9SwiftDemo6SquareC4sideSdvp -func __nsProbe127(_ receiver: SwiftDemo.Square, _ newValue: Double) { +func __nsProbe148(_ receiver: SwiftDemo.Square, _ newValue: Double) { let _: Double = receiver.`side` receiver.`side` = newValue } // s:9SwiftDemo6SquareC5greet4nameS2S_tF -func __nsProbe128(_ receiver: SwiftDemo.Square, _ a0: String) { +func __nsProbe149(_ receiver: SwiftDemo.Square, _ a0: String) { let _: String = receiver.`greet`(name: a0) } // s:9SwiftDemo6SquareC5scale2byySd_tF -func __nsProbe129(_ receiver: SwiftDemo.Square, _ a0: Double) { +func __nsProbe150(_ receiver: SwiftDemo.Square, _ a0: Double) { let _: Void = receiver.`scale`(by: a0) } // s:9SwiftDemo6SquareC5sidesSivpZ -func __nsProbe130() { +func __nsProbe151() { let _: Int = SwiftDemo.Square.`sides` } // s:9SwiftDemo6append_2toySS_SaySSGztF -func __nsProbe131(_ a0: String, _ a1: inout [String]) { +func __nsProbe152(_ a0: String, _ a1: inout [String]) { let _: Void = SwiftDemo.`append`(a0, to: &a1) } +// s:9SwiftDemo6exciteyyAA8Greeting_pF +func __nsProbe153(_ a0: any SwiftDemo.Greeting) { + let _: Void = SwiftDemo.`excite`(a0) +} + // s:9SwiftDemo6settley0aB3Kit7OutcomeOySiGSiF -func __nsProbe132(_ a0: Int) { +func __nsProbe154(_ a0: Int) { let _: SwiftDemoKit.Outcome = SwiftDemo.`settle`(a0) } // s:9SwiftDemo7CounterC -func __nsProbe133(_ value: SwiftDemo.Counter) -> SwiftDemo.Counter { value } +func __nsProbe155(_ value: SwiftDemo.Counter) -> SwiftDemo.Counter { value } // s:9SwiftDemo7CounterC4stepSivp -func __nsProbe134(_ receiver: SwiftDemo.Counter) async { +func __nsProbe156(_ receiver: SwiftDemo.Counter) async { let _: Int = await receiver.`step` } // s:9SwiftDemo7CounterC5labelSSyF -func __nsProbe135(_ receiver: SwiftDemo.Counter) { +func __nsProbe157(_ receiver: SwiftDemo.Counter) { let _: String = receiver.`label`() } // s:9SwiftDemo7CounterC5valueSivp -func __nsProbe136(_ receiver: SwiftDemo.Counter) async { +func __nsProbe158(_ receiver: SwiftDemo.Counter) async { let _: Int = await receiver.`value` } // s:9SwiftDemo7CounterC9incrementSiyF -func __nsProbe137(_ receiver: SwiftDemo.Counter) async { +func __nsProbe159(_ receiver: SwiftDemo.Counter) async { let _: Int = await receiver.`increment`() } // s:9SwiftDemo7CounterCACycfc -func __nsProbe138() { +func __nsProbe160() { let _: SwiftDemo.Counter = SwiftDemo.Counter() } // s:9SwiftDemo7FormulaO -func __nsProbe139(_ value: SwiftDemo.Formula) -> SwiftDemo.Formula { value } +func __nsProbe161(_ value: SwiftDemo.Formula) -> SwiftDemo.Formula { value } // s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF -func __nsProbe140(_ a0: SwiftDemo.Formula, _ a1: SwiftDemo.Formula) { +func __nsProbe162(_ a0: SwiftDemo.Formula, _ a1: SwiftDemo.Formula) { let _: SwiftDemo.Formula = SwiftDemo.Formula.`sum`(a0, a1) } // s:9SwiftDemo7FormulaO5valueSdvp -func __nsProbe141(_ receiver: SwiftDemo.Formula) { +func __nsProbe163(_ receiver: SwiftDemo.Formula) { let _: Double = receiver.`value` } // s:9SwiftDemo7FormulaO6negateyA2CcACmF -func __nsProbe142(_ a0: SwiftDemo.Formula) { +func __nsProbe164(_ a0: SwiftDemo.Formula) { let _: SwiftDemo.Formula = SwiftDemo.Formula.`negate`(a0) } // s:9SwiftDemo7FormulaO6numberyACSdcACmF -func __nsProbe143(_ a0: Double) { +func __nsProbe165(_ a0: Double) { let _: SwiftDemo.Formula = SwiftDemo.Formula.`number`(a0) } +// s:9SwiftDemo7GreeterP +func __nsProbe166(_ value: any SwiftDemo.Greeter) -> any SwiftDemo.Greeter { value } + +// s:9SwiftDemo7GreeterP5greet4nameS2S_tF +func __nsProbe167(_ receiver: any SwiftDemo.Greeter, _ a0: String) { + let _: String = receiver.`greet`(name: a0) +} + // s:9SwiftDemo7PaletteC -func __nsProbe144(_ value: SwiftDemo.Palette) -> SwiftDemo.Palette { value } +func __nsProbe168(_ value: SwiftDemo.Palette) -> SwiftDemo.Palette { value } // s:9SwiftDemo7PaletteC11strokeLaterSiyYaF -func __nsProbe145(_ receiver: SwiftDemo.Palette) async { +func __nsProbe169(_ receiver: SwiftDemo.Palette) async { let _: Int = await receiver.`strokeLater`() } // s:9SwiftDemo7PaletteC6strokeSiyF @MainActor -func __nsProbe146(_ receiver: SwiftDemo.Palette) { +func __nsProbe170(_ receiver: SwiftDemo.Palette) { let _: Int = receiver.`stroke`() } // s:9SwiftDemo7PaletteC7strokesSivp @MainActor -func __nsProbe147(_ receiver: SwiftDemo.Palette) { +func __nsProbe171(_ receiver: SwiftDemo.Palette) { let _: Int = receiver.`strokes` } // s:9SwiftDemo7PaletteCACycfc @MainActor -func __nsProbe148() { +func __nsProbe172() { let _: SwiftDemo.Palette = SwiftDemo.Palette() } // s:9SwiftDemo7PayloadO -func __nsProbe149(_ value: SwiftDemo.Payload) -> SwiftDemo.Payload { value } +func __nsProbe173(_ value: SwiftDemo.Payload) -> SwiftDemo.Payload { value } // s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF -func __nsProbe150(_ a0: Int?) { +func __nsProbe174(_ a0: Int?) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`maybe`(a0) } // s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF -func __nsProbe151(_ a0: [String]) { +func __nsProbe175(_ a0: [String]) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`names`(a0) } // s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF -func __nsProbe152(_ a0: SwiftDemo.Point) { +func __nsProbe176(_ a0: SwiftDemo.Point) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`point`(a0) } // s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF -func __nsProbe153(_ a0: SwiftDemo.Flavor) { +func __nsProbe177(_ a0: SwiftDemo.Flavor) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`flavor`(a0) } // s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF -func __nsProbe154(_ a0: SwiftDemo.Tracker) { +func __nsProbe178(_ a0: SwiftDemo.Tracker) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`tracker`(a0) } // s:9SwiftDemo7PolygonC -func __nsProbe155(_ value: SwiftDemo.Polygon) -> SwiftDemo.Polygon { value } +func __nsProbe179(_ value: SwiftDemo.Polygon) -> SwiftDemo.Polygon { value } // s:9SwiftDemo7PolygonC11vertexCountSivp -func __nsProbe156(_ receiver: SwiftDemo.Polygon) { +func __nsProbe180(_ receiver: SwiftDemo.Polygon) { let _: Int = receiver.`vertexCount` } // s:9SwiftDemo7PolygonC4makeACyFZ -func __nsProbe157() { +func __nsProbe181() { let _: SwiftDemo.Polygon = SwiftDemo.Polygon.`make`() } // s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc -func __nsProbe158(_ a0: String, _ a1: Int) { +func __nsProbe182(_ a0: String, _ a1: Int) { let _: SwiftDemo.Polygon = SwiftDemo.Polygon(name: a0, vertexCount: a1) } // s:9SwiftDemo7PolygonC4nameACSgSS_tcfc -func __nsProbe159(_ a0: String) { +func __nsProbe183(_ a0: String) { let _: SwiftDemo.Polygon? = SwiftDemo.Polygon(name: a0) } // s:9SwiftDemo7PolygonC4nameSSvp -func __nsProbe160(_ receiver: SwiftDemo.Polygon) { +func __nsProbe184(_ receiver: SwiftDemo.Polygon) { let _: String = receiver.`name` } // s:9SwiftDemo7PolygonC5StyleO -func __nsProbe161(_ value: SwiftDemo.Polygon.Style) -> SwiftDemo.Polygon.Style { value } +func __nsProbe185(_ value: SwiftDemo.Polygon.Style) -> SwiftDemo.Polygon.Style { value } // s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF -func __nsProbe162() { +func __nsProbe186() { let _: SwiftDemo.Polygon.Style = SwiftDemo.Polygon.Style.`solid` } // s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF -func __nsProbe163() { +func __nsProbe187() { let _: SwiftDemo.Polygon.Style = SwiftDemo.Polygon.Style.`dashed` } // s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc -func __nsProbe164(_ a0: String) { +func __nsProbe188(_ a0: String) { let _: SwiftDemo.Polygon.Style? = SwiftDemo.Polygon.Style(rawValue: a0) } // s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF -func __nsProbe165(_ receiver: SwiftDemo.Polygon, _ a0: Double, _ a1: Double) { +func __nsProbe189(_ receiver: SwiftDemo.Polygon, _ a0: Double, _ a1: Double) { let _: Void = receiver.`scale`(x: a0, y: a1) } // s:9SwiftDemo7PolygonC5scale2byySd_tF -func __nsProbe166(_ receiver: SwiftDemo.Polygon, _ a0: Double) { +func __nsProbe190(_ receiver: SwiftDemo.Polygon, _ a0: Double) { let _: Void = receiver.`scale`(by: a0) } // s:9SwiftDemo7PolygonC5scale2byySi_tF -func __nsProbe167(_ receiver: SwiftDemo.Polygon, _ a0: Int) { +func __nsProbe191(_ receiver: SwiftDemo.Polygon, _ a0: Int) { let _: Void = receiver.`scale`(by: a0) } // s:9SwiftDemo7PolygonC5styleAC5StyleOvp -func __nsProbe168(_ receiver: SwiftDemo.Polygon) { +func __nsProbe192(_ receiver: SwiftDemo.Polygon) { let _: SwiftDemo.Polygon.Style = receiver.`style` } // s:9SwiftDemo7PolygonC6sharedACvpZ -func __nsProbe169() { +func __nsProbe193() { let _: SwiftDemo.Polygon = SwiftDemo.Polygon.`shared` } // s:9SwiftDemo7PolygonC7MetricsV -func __nsProbe170(_ value: SwiftDemo.Polygon.Metrics) -> SwiftDemo.Polygon.Metrics { value } +func __nsProbe194(_ value: SwiftDemo.Polygon.Metrics) -> SwiftDemo.Polygon.Metrics { value } // s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc -func __nsProbe171(_ a0: Double) { +func __nsProbe195(_ a0: Double) { let _: SwiftDemo.Polygon.Metrics = SwiftDemo.Polygon.Metrics(perimeter: a0) } // s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp -func __nsProbe172(_ receiver: inout SwiftDemo.Polygon.Metrics, _ newValue: Double) { +func __nsProbe196(_ receiver: inout SwiftDemo.Polygon.Metrics, _ newValue: Double) { let _: Double = receiver.`perimeter` receiver.`perimeter` = newValue } // s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF -func __nsProbe173(_ receiver: SwiftDemo.Polygon, _ a0: Double) { +func __nsProbe197(_ receiver: SwiftDemo.Polygon, _ a0: Double) { let _: SwiftDemo.Polygon.Metrics = receiver.`metrics`(side: a0) } // s:9SwiftDemo7PolygonC8describeySSACSgFZ -func __nsProbe174(_ a0: SwiftDemo.Polygon?) { +func __nsProbe198(_ a0: SwiftDemo.Polygon?) { let _: String = SwiftDemo.Polygon.`describe`(a0) } // s:9SwiftDemo7TrackerC -func __nsProbe175(_ value: SwiftDemo.Tracker) -> SwiftDemo.Tracker { value } +func __nsProbe199(_ value: SwiftDemo.Tracker) -> SwiftDemo.Tracker { value } // s:9SwiftDemo7TrackerC2idACSi_tcfc -func __nsProbe176(_ a0: Int) { +func __nsProbe200(_ a0: Int) { let _: SwiftDemo.Tracker = SwiftDemo.Tracker(id: a0) } // s:9SwiftDemo7TrackerC2idSivp -func __nsProbe177(_ receiver: SwiftDemo.Tracker) { +func __nsProbe201(_ receiver: SwiftDemo.Tracker) { let _: Int = receiver.`id` } // s:9SwiftDemo7TrackerC4sameACyF -func __nsProbe178(_ receiver: SwiftDemo.Tracker) { +func __nsProbe202(_ receiver: SwiftDemo.Tracker) { let _: SwiftDemo.Tracker = receiver.`same`() } // s:9SwiftDemo7TrackerC9liveCountSivpZ -func __nsProbe179() { +func __nsProbe203() { let _: Int = SwiftDemo.Tracker.`liveCount` } // s:9SwiftDemo7explainySSAA10ShapeErrorOF -func __nsProbe180(_ a0: SwiftDemo.ShapeError) { +func __nsProbe204(_ a0: SwiftDemo.ShapeError) { let _: String = SwiftDemo.`explain`(a0) } // s:9SwiftDemo7lengthsySDySSSiGSDyS2SGF -func __nsProbe181(_ a0: [String: String]) { +func __nsProbe205(_ a0: [String: String]) { let _: [String: Int] = SwiftDemo.`lengths`(a0) } // s:9SwiftDemo7measure_2byAA11MeasurementOSd_SdSgtF -func __nsProbe182(_ a0: Double, _ a1: Double?) { +func __nsProbe206(_ a0: Double, _ a1: Double?) { let _: SwiftDemo.Measurement = SwiftDemo.`measure`(a0, by: a1) } // s:9SwiftDemo7nextDay5after10Foundation4DateVAF_tF -func __nsProbe183(_ a0: Date) { +func __nsProbe207(_ a0: Date) { let _: Date = SwiftDemo.`nextDay`(after: a0) } // s:9SwiftDemo7resolve_7against10Foundation3URLVSS_AFtF -func __nsProbe184(_ a0: String, _ a1: URL) { +func __nsProbe208(_ a0: String, _ a1: URL) { let _: URL = SwiftDemo.`resolve`(a0, against: a1) } +// s:9SwiftDemo7topRankySSAA12RankedScorer_pKF +func __nsProbe209(_ a0: any SwiftDemo.RankedScorer) throws { + let _: String = try SwiftDemo.`topRank`(a0) +} + +// s:9SwiftDemo8GreetingP +func __nsProbe210(_ value: any SwiftDemo.Greeting) -> any SwiftDemo.Greeting { value } + +// s:9SwiftDemo8GreetingP11punctuationSSvp +func __nsProbe211(_ receiver: any SwiftDemo.Greeting, _ newValue: String) { + let _: String = receiver.`punctuation` + receiver.`punctuation` = newValue +} + +// s:9SwiftDemo8GreetingP4nameSSvp +func __nsProbe212(_ receiver: any SwiftDemo.Greeting) { + let _: String = receiver.`name` +} + +// s:9SwiftDemo8GreetingP5greetyS2SF +func __nsProbe213(_ receiver: any SwiftDemo.Greeting, _ a0: String) { + let _: String = receiver.`greet`(a0) +} + +// s:9SwiftDemo8GreetingP5resetyyF +func __nsProbe214(_ receiver: any SwiftDemo.Greeting) { + let _: Void = receiver.`reset`() +} + +// s:9SwiftDemo8GreetingPAAE5shoutyS2SF +func __nsProbe215(_ receiver: any SwiftDemo.Greeting, _ a0: String) { + let _: String = receiver.`shout`(a0) +} + +// s:9SwiftDemo8GreetingPAAE5shoutyS2SF::SYNTHESIZED::s:9SwiftDemo14FormalGreetingC +func __nsProbe216(_ receiver: SwiftDemo.FormalGreeting, _ a0: String) { + let _: String = receiver.`shout`(a0) +} + // s:9SwiftDemo8NotifierC -func __nsProbe185(_ value: SwiftDemo.Notifier) -> SwiftDemo.Notifier { value } +func __nsProbe217(_ value: SwiftDemo.Notifier) -> SwiftDemo.Notifier { value } // s:9SwiftDemo8NotifierC12publishLateryySSF -func __nsProbe186(_ receiver: SwiftDemo.Notifier, _ a0: String) { +func __nsProbe218(_ receiver: SwiftDemo.Notifier, _ a0: String) { let _: Void = receiver.`publishLater`(a0) } // s:9SwiftDemo8NotifierC5clearyyF -func __nsProbe187(_ receiver: SwiftDemo.Notifier) { +func __nsProbe219(_ receiver: SwiftDemo.Notifier) { let _: Void = receiver.`clear`() } // s:9SwiftDemo8NotifierC5countSivp -func __nsProbe188(_ receiver: SwiftDemo.Notifier) { +func __nsProbe220(_ receiver: SwiftDemo.Notifier) { let _: Int = receiver.`count` } // s:9SwiftDemo8NotifierC7publishyySSF -func __nsProbe189(_ receiver: SwiftDemo.Notifier, _ a0: String) { +func __nsProbe221(_ receiver: SwiftDemo.Notifier, _ a0: String) { let _: Void = receiver.`publish`(a0) } // s:9SwiftDemo8NotifierC9subscribeyyySSYbcF -func __nsProbe190(_ receiver: SwiftDemo.Notifier, _ a0: @escaping @Sendable (String) -> Void) { +func __nsProbe222(_ receiver: SwiftDemo.Notifier, _ a0: @escaping @Sendable (String) -> Void) { let _: Void = receiver.`subscribe`(a0) } // s:9SwiftDemo8NotifierCACycfc -func __nsProbe191() { +func __nsProbe223() { let _: SwiftDemo.Notifier = SwiftDemo.Notifier() } // s:9SwiftDemo8centroid2ofAA5PointVSayAEG_tF -func __nsProbe192(_ a0: [SwiftDemo.Point]) { +func __nsProbe224(_ a0: [SwiftDemo.Point]) { let _: SwiftDemo.Point = SwiftDemo.`centroid`(of: a0) } // s:9SwiftDemo8checksumySi10Foundation4DataVF -func __nsProbe193(_ a0: Data) { +func __nsProbe225(_ a0: Data) { let _: Int = SwiftDemo.`checksum`(a0) } // s:9SwiftDemo8countBoxy0aB3Kit0D0CySiGSiF -func __nsProbe194(_ a0: Int) { +func __nsProbe226(_ a0: Int) { let _: SwiftDemoKit.Box = SwiftDemo.`countBox`(a0) } // s:9SwiftDemo8describeySS0aB3Kit4PairVySiSSGF -func __nsProbe195(_ a0: SwiftDemoKit.Pair) { +func __nsProbe227(_ a0: SwiftDemoKit.Pair) { let _: String = SwiftDemo.`describe`(a0) } // s:9SwiftDemo8describeySSSo6UIViewCF -func __nsProbe196(_ a0: UIView) { +func __nsProbe228(_ a0: UIView) { let _: String = SwiftDemo.`describe`(a0) } // s:9SwiftDemo8echoInt8ys0D0VADF -func __nsProbe197(_ a0: Int8) { +func __nsProbe229(_ a0: Int8) { let _: Int8 = SwiftDemo.`echoInt8`(a0) } // s:9SwiftDemo8makeNoteyAA0D0CSSF -func __nsProbe198(_ a0: String) { +func __nsProbe230(_ a0: String) { let _: SwiftDemo.Note = SwiftDemo.`makeNote`(a0) } // s:9SwiftDemo8mirroredySaySaySiGGADF -func __nsProbe199(_ a0: [[Int]]) { +func __nsProbe231(_ a0: [[Int]]) { let _: [[Int]] = SwiftDemo.`mirrored`(a0) } +// s:9SwiftDemo8scoreAllySaySiGAA6Scorer_p_ACtKF +func __nsProbe232(_ a0: any SwiftDemo.Scorer, _ a1: [Int]) throws { + let _: [Int] = try SwiftDemo.`scoreAll`(a0, a1) +} + // s:9SwiftDemo8simplifyyAA7FormulaOADF -func __nsProbe200(_ a0: SwiftDemo.Formula) { +func __nsProbe233(_ a0: SwiftDemo.Formula) { let _: SwiftDemo.Formula = SwiftDemo.`simplify`(a0) } // s:9SwiftDemo8trackersySayAA7TrackerCGSaySiGF -func __nsProbe201(_ a0: [Int]) { +func __nsProbe234(_ a0: [Int]) { let _: [SwiftDemo.Tracker] = SwiftDemo.`trackers`(a0) } // s:9SwiftDemo9countdown4from_ySi_ySi_SbtXEtF -func __nsProbe202(_ a0: Int, _ a1: (Int, Bool) -> Void) { +func __nsProbe235(_ a0: Int, _ a1: (Int, Bool) -> Void) { let _: Void = SwiftDemo.`countdown`(from: a0, a1) } +// s:9SwiftDemo9introduce_2toSSAA8Greeting_p_SStF +func __nsProbe236(_ a0: any SwiftDemo.Greeting, _ a1: String) { + let _: String = SwiftDemo.`introduce`(a0, to: a1) +} + // s:9SwiftDemo9makeLabelySo7UILabelCSSF @MainActor -func __nsProbe203(_ a0: String) { +func __nsProbe237(_ a0: String) { let _: UILabel = SwiftDemo.`makeLabel`(a0) } // s:9SwiftDemo9makeScorey0aB3Kit4PairVySSSiGSS_SitF -func __nsProbe204(_ a0: String, _ a1: Int) { +func __nsProbe238(_ a0: String, _ a1: Int) { let _: Score = SwiftDemo.`makeScore`(a0, a1) } // s:9SwiftDemo9noteLateryAA4NoteCSSYaF -func __nsProbe205(_ a0: String) async { +func __nsProbe239(_ a0: String) async { let _: SwiftDemo.Note = await SwiftDemo.`noteLater`(a0) } // s:9SwiftDemo9onMeasureyyyAA11MeasurementOXEF -func __nsProbe206(_ a0: (SwiftDemo.Measurement) -> Void) { +func __nsProbe240(_ a0: (SwiftDemo.Measurement) -> Void) { let _: Void = SwiftDemo.`onMeasure`(a0) } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO -func __nsProbe207(_ receiver: SwiftDemo.Precipitation) { +func __nsProbe241(_ receiver: SwiftDemo.Precipitation) { let _: Int = receiver.`hashValue` } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO -func __nsProbe208(_ receiver: SwiftDemo.Flavor) { +func __nsProbe242(_ receiver: SwiftDemo.Flavor) { let _: Int = receiver.`hashValue` } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO -func __nsProbe209(_ receiver: SwiftDemo.Polygon.Style) { +func __nsProbe243(_ receiver: SwiftDemo.Polygon.Style) { let _: Int = receiver.`hashValue` } // s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO -func __nsProbe210(_ receiver: SwiftDemo.ShapeError) { +func __nsProbe244(_ receiver: SwiftDemo.ShapeError) { let _: String = receiver.`localizedDescription` } diff --git a/metadata-generator/tests/swift/snapshots/swift!SwiftDemo.d.ts b/metadata-generator/tests/swift/snapshots/swift!SwiftDemo.d.ts index aefc01b7..541a5832 100644 --- a/metadata-generator/tests/swift/snapshots/swift!SwiftDemo.d.ts +++ b/metadata-generator/tests/swift/snapshots/swift!SwiftDemo.d.ts @@ -36,6 +36,10 @@ declare module "ns:swift/SwiftDemo" { } + export interface RankedScorer extends Scorer { + readonly rank: number | null; + } + export type Precipitation = "none" | "rain" | "snow"; export namespace Precipitation { export const none: "none"; @@ -45,6 +49,27 @@ declare module "ns:swift/SwiftDemo" { export function hashValue(value: Precipitation): number; } + export class DoublingScorer { + constructor(); + score(value: number | bigint): number; + } + + export class FormalGreeting { + constructor(name: string); + constructor(args: { name: string }); + punctuation: string; + readonly name: string; + greet(other: string): string; + reset(): void; + shout(other: string): string; + } + + export class GreetingHolder { + constructor(); + greet(other: string): string | null; + greeting: Greeting | null; + } + export namespace Job { export class Ticket { constructor(id: number | bigint); @@ -106,6 +131,10 @@ declare module "ns:swift/SwiftDemo" { oldFetch(): void; } + export interface Scorer { + score(value: number | bigint): number; + } + export class Square extends Polygon { constructor(side: number); constructor(args: { side: number }); @@ -135,6 +164,10 @@ declare module "ns:swift/SwiftDemo" { export function value(value: Formula): number; } + export interface Greeter { + greet(name: string): string; + } + export class Palette { constructor(); strokeLater(): Promise; @@ -194,6 +227,13 @@ declare module "ns:swift/SwiftDemo" { static readonly liveCount: number; } + export interface Greeting { + punctuation: string; + readonly name: string; + greet(other: string): string; + reset(): void; + } + export class Notifier { constructor(); publishLater(message: string): void; @@ -208,11 +248,13 @@ declare module "ns:swift/SwiftDemo" { export function echoUInt64(value: number | bigint): number; export function greetLater(name: (string) | null | undefined, completion: (arg0: string | null) => void): void; export function largestInt(): number; + export function makeScorer(): Scorer; export function namesLater(count: number | bigint): Promise<(string)[]>; export function wordCounts(words: readonly (string)[]): Record; export function checkedSide(side: number): number; export function delayedEcho(text: string, seconds: number): Promise; export function firstSubview(view: UIView): UIView | null; + export function makeGreeting(name: string): Greeting; export function measureLater(width: number): Promise; export function measurements(): (Measurement)[]; export function swapTrackers(a: { value: Tracker }, b: { value: Tracker }): void; @@ -221,6 +263,7 @@ declare module "ns:swift/SwiftDemo" { export function starterWallet(owner: string): import("ns:swift/SwiftDemoKit").Wallet; export function makeDefaultPoint(): Point; export function makeTrackerLater(id: number | bigint): Promise; + export function greetInBackground(greeting: Greeting): Promise; export function sum(amounts: readonly (import("ns:swift/SwiftDemoKit").Money)[]): import("ns:swift/SwiftDemoKit").Money; export function area(measurement: Measurement): number; export function bump(value: { value: number | bigint }): void; @@ -228,6 +271,7 @@ declare module "ns:swift/SwiftDemo" { export function flip(coin: import("ns:swift/SwiftDemoKit").Coin): import("ns:swift/SwiftDemoKit").Coin; export function host(url: string | URL): string | null; export function ramp(count: number | bigint): Uint8Array; + export function same(greeting: Greeting): Greeting; export function tags(views: readonly (UIView)[]): (number)[]; export function text(note: NSObject): string; export function boxed(money: import("ns:swift/SwiftDemoKit").Money): import("ns:swift/SwiftDemoKit").Box; @@ -237,12 +281,14 @@ declare module "ns:swift/SwiftDemo" { export function shout(name: (string) | null | undefined): string | null; export function total(values: readonly (number)[]): number; export function append(word: string, words: { value: readonly (string)[] }): void; + export function excite(greeting: Greeting): void; export function settle(value: number | bigint): import("ns:swift/SwiftDemoKit").Outcome; export function explain(error: ShapeError): string; export function lengths(table: Readonly>): Record; export function measure(width: number, height: (number) | null | undefined): Measurement; export function nextDay(date: Date): Date; export function resolve(path: string, base: string | URL): URL; + export function topRank(scorer: RankedScorer): string; export function centroid(points: readonly (Point)[]): Point; export function checksum(data: ArrayBuffer | ArrayBufferView): number; export function countBox(value: number | bigint): import("ns:swift/SwiftDemoKit").Box; @@ -251,9 +297,11 @@ declare module "ns:swift/SwiftDemo" { export function echoInt8(value: number | bigint): number; export function makeNote(text: string): NSObject; export function mirrored(grid: readonly (readonly (number | bigint)[])[]): ((number)[])[]; + export function scoreAll(scorer: Scorer, values: readonly (number | bigint)[]): (number)[]; export function simplify(formula: Formula): Formula; export function trackers(ids: readonly (number | bigint)[]): (Tracker)[]; export function countdown(start: number | bigint, tick: (arg0: number, arg1: boolean) => void): void; + export function introduce(greeting: Greeting, other: string): string; export function makeLabel(text: string): UILabel; export function makeScore(name: string, points: number | bigint): import("ns:swift/SwiftDemoKit").Pair; export function noteLater(text: string): Promise; diff --git a/metadata-generator/tests/swift/typescript/usage.ts b/metadata-generator/tests/swift/typescript/usage.ts index 8b624b60..7e3b3df5 100644 --- a/metadata-generator/tests/swift/typescript/usage.ts +++ b/metadata-generator/tests/swift/typescript/usage.ts @@ -59,6 +59,15 @@ const score: SwiftDemoTypes.Score = SwiftDemo.makeScore("ada", 3); const settled = SwiftDemo.settle(1); const settledValue: number = settled.case === "done" ? settled.value : 0; void [swappedPair, score, settledValue, SwiftDemo.describe(pair)]; +const jsGreeting: SwiftDemoTypes.Greeting = { + name: "js", + punctuation: "?", + greet: (other) => "hi " + other, + reset() {}, +}; +void [SwiftDemo.introduce(jsGreeting, "you"), SwiftDemo.makeGreeting("swift").greet("x")]; +// @ts-expect-error an implementation provides every requirement +SwiftDemo.introduce({ name: "js", greet: (other: string) => other }, "you"); // @ts-expect-error an instantiation's arguments are typed SwiftDemo.describe(new Kit.Pair("one", 1)); // @ts-expect-error inout parameters take a reference object diff --git a/v8ios.xcodeproj/project.pbxproj b/v8ios.xcodeproj/project.pbxproj index 60ac71ba..3a2ca4b0 100644 --- a/v8ios.xcodeproj/project.pbxproj +++ b/v8ios.xcodeproj/project.pbxproj @@ -350,6 +350,7 @@ EF918E4F1A6F3E39721F8C44 /* Shapes.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA98D6B239608C28AFB14F15 /* Shapes.swift */; }; 1A9C83B48771CCA1BBEA3F77 /* Values.swift in Sources */ = {isa = PBXBuildFile; fileRef = D76F7C886215EB9DB96CA88E /* Values.swift */; }; 2B7A41C09E3F4D21A6C0B001 /* Views.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B7A41C09E3F4D21A6C0B002 /* Views.swift */; }; + 5D0E5ED00000000000000015 /* Protocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D0E5ED00000000000000014 /* Protocols.swift */; }; 5D0E5ED00000000000000004 /* Purse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D0E5ED00000000000000003 /* Purse.swift */; }; 5D0E5ED00000000000000002 /* Money.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D0E5ED00000000000000001 /* Money.swift */; }; F84875BB70573F18E4D9BA12 /* SwiftDemo+NativeScript.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9283D493244254925F2F5D4D /* SwiftDemo+NativeScript.swift */; }; @@ -911,6 +912,7 @@ CA98D6B239608C28AFB14F15 /* Shapes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemo/Shapes.swift"; sourceTree = ""; }; D76F7C886215EB9DB96CA88E /* Values.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemo/Values.swift"; sourceTree = ""; }; 2B7A41C09E3F4D21A6C0B002 /* Views.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemo/Views.swift"; sourceTree = ""; }; + 5D0E5ED00000000000000014 /* Protocols.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemo/Protocols.swift"; sourceTree = ""; }; 5D0E5ED00000000000000003 /* Purse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemo/Purse.swift"; sourceTree = ""; }; 5D0E5ED00000000000000001 /* Money.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemoKit/Money.swift"; sourceTree = ""; }; 9283D493244254925F2F5D4D /* SwiftDemo+NativeScript.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Interop/SwiftDemo+NativeScript.swift"; sourceTree = ""; }; @@ -1710,6 +1712,7 @@ CA98D6B239608C28AFB14F15 /* Shapes.swift */, D76F7C886215EB9DB96CA88E /* Values.swift */, 2B7A41C09E3F4D21A6C0B002 /* Views.swift */, + 5D0E5ED00000000000000014 /* Protocols.swift */, 5D0E5ED00000000000000003 /* Purse.swift */, 5D0E5ED00000000000000001 /* Money.swift */, 9283D493244254925F2F5D4D /* SwiftDemo+NativeScript.swift */, @@ -2528,6 +2531,7 @@ EF918E4F1A6F3E39721F8C44 /* Shapes.swift in Sources */, 1A9C83B48771CCA1BBEA3F77 /* Values.swift in Sources */, 2B7A41C09E3F4D21A6C0B001 /* Views.swift in Sources */, + 5D0E5ED00000000000000015 /* Protocols.swift in Sources */, 5D0E5ED00000000000000004 /* Purse.swift in Sources */, F84875BB70573F18E4D9BA12 /* SwiftDemo+NativeScript.swift in Sources */, ); From 225586ef31bc1558b9eb91fbcfc5da9b238f404e Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Tue, 20 Oct 2026 16:36:01 -0700 Subject: [PATCH 4/6] feat(swift-interop): track @Observable properties from JS `ns:swift` gains track(read, onChange) and observe(read, onChange) (ABI 10). - track is Swift's withObservationTracking. It runs `read`, and the getter thunks `read` reaches run inside the tracking scope, so the observable properties it touches are recorded. `onChange` runs once, when one of them is about to change. - observe re-arms after every change, calls `onChange` after the change is made, and returns a stop function. Every generated unit carries the tracker and registers it. The runtime uses any loaded unit's tracker and throws what `read` throws. A change made on another thread reaches JS on its thread. --- NativeScript/runtime/SwiftInterop.h | 11 +- NativeScript/runtime/SwiftInterop.mm | 53 + NativeScript/runtime/js/ns-swift.js | 46 +- TestRunner/app/tests/SwiftInteropTests.js | 51 +- docs/swift-interop.md | 21 + .../Interop/SwiftDemo+NativeScript.swift | 1065 +++++++++-------- .../Sources/SwiftDemo/Observing.swift | 19 + .../Sources/SwiftDemo/Protocols.swift | 2 +- .../symbolgraphs/SwiftDemo.symbols.json | 2 +- metadata-generator/src/Swift/ThunkEmitter.cpp | 39 +- metadata-generator/src/Swift/ThunkEmitter.h | 2 +- .../tests/swift/SymbolGraphLoaderTests.cpp | 1 + .../tests/swift/ThunkEmitterTests.cpp | 2 +- .../swift/snapshots/SwiftDemo.coverage.json | 73 +- .../tests/swift/snapshots/SwiftDemo.ir.json | 156 +++ .../swift/snapshots/SwiftDemo.probe.swift | 432 ++++--- .../swift/snapshots/swift!SwiftDemo.d.ts | 26 + types/ns-swift.d.ts | 16 + v8ios.xcodeproj/project.pbxproj | 4 + 19 files changed, 1306 insertions(+), 715 deletions(-) create mode 100644 metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Observing.swift diff --git a/NativeScript/runtime/SwiftInterop.h b/NativeScript/runtime/SwiftInterop.h index e8f479e1..aacf580a 100644 --- a/NativeScript/runtime/SwiftInterop.h +++ b/NativeScript/runtime/SwiftInterop.h @@ -40,7 +40,7 @@ // calls it by reporting the arguments as an array: callbackBegin, each // argument through the complete* entries, then completeArrayEnd. -#define NS_SWIFT_ABI_VERSION 9 +#define NS_SWIFT_ABI_VERSION 10 #ifdef __cplusplus extern "C" { @@ -101,6 +101,12 @@ typedef struct NSSwiftRegistrar { typedef void (*NSSwiftThunk)(NSSwiftCall* call, const NSSwiftValue* args, intptr_t count); +// Runs callback handle `read` (no arguments) tracking the observable +// properties it reads, then calls handle `changed` once, when one of them is +// about to change (Observation's withObservationTracking). Returns 0 when +// Observation is unavailable on this OS. +typedef uint8_t (*NSSwiftTracker)(const NSSwiftAPI* api, void* read, + void* changed); typedef void (*NSSwiftRelease)(void* object); enum { @@ -292,6 +298,9 @@ struct NSSwiftAPI { // A JS object handle, as the JS object itself. /* 46 */ void (*returnJSObject)(NSSwiftCall* call, void* object); /* 47 */ void (*completeJSObject)(void* token, void* object); + + /* 48 */ void (*registerTracker)(NSSwiftRegistrar* registrar, + NSSwiftTracker tracker); }; typedef void (*NSSwiftRegisterFunction)(NSSwiftRegistrar* registrar); diff --git a/NativeScript/runtime/SwiftInterop.mm b/NativeScript/runtime/SwiftInterop.mm index 290587b4..4ede0c71 100644 --- a/NativeScript/runtime/SwiftInterop.mm +++ b/NativeScript/runtime/SwiftInterop.mm @@ -316,6 +316,7 @@ bool ParseSignature(const std::string& text, Signature& signature) { std::string name; // Its Swift modules, each an `ns:swift/` namespace. std::vector modules; + NSSwiftTracker tracker = nullptr; std::string fingerprint; uint32_t abiVersion = 0; NSSwiftRelease release = nullptr; @@ -424,6 +425,10 @@ void ApiRegisterModule(NSSwiftRegistrar* registrar, uint32_t abiVersion, const c module->release = release; } +void ApiRegisterTracker(NSSwiftRegistrar* registrar, NSSwiftTracker tracker) { + static_cast(registrar)->module->tracker = tracker; +} + void ApiRegisterUnitModule(NSSwiftRegistrar* registrar, const char* name) { ModuleInfo* module = static_cast(registrar)->module; if (name != nullptr && @@ -540,6 +545,7 @@ void ApiCompleteError(void* token, const uint8_t* message, intptr_t messageLengt void ApiObjectResultRelease(const NSSwiftValue* result); void ApiReturnJSObject(NSSwiftCall* call, void* object); void ApiCompleteJSObject(void* token, void* object); +void ApiRegisterTracker(NSSwiftRegistrar* registrar, NSSwiftTracker tracker); struct SwiftCallback; Local JSObjectOf(SwiftCallback* handle, Isolate* isolate); void ReleaseCallback(SwiftCallback* callback); @@ -561,6 +567,7 @@ void ApiCompleteError(void* token, const uint8_t* message, intptr_t messageLengt ApiWriteBackEnd, ApiReturnObjC, ApiCompleteObjC, ApiRegisterUnitModule, ApiObjectCallBegin, ApiObjectCallEnd, ApiObjectResultRelease, ApiReturnJSObject, ApiCompleteJSObject, + ApiRegisterTracker, }; // "Polygon.Style" -> "Style". @@ -3169,6 +3176,49 @@ void LoadModuleCallback(const FunctionCallbackInfo& info) { } } +// `track(read, changed)`: Observation tracking through any loaded unit. +void TrackCallback(const FunctionCallbackInfo& info) { + Isolate* isolate = info.GetIsolate(); + if (info.Length() < 2 || !info[0]->IsFunction() || !info[1]->IsFunction()) { + isolate->ThrowException(Exception::TypeError( + tns::ToV8String(isolate, "track(read, onChange) takes two functions"))); + return; + } + std::shared_ptr unit; + { + std::lock_guard lock(gModulesMutex); + for (const auto& entry : gModules) { + if (entry.second->error.empty() && entry.second->tracker != nullptr) { + unit = entry.second; + break; + } + } + } + auto* state = Caches::StateFor(isolate); + if (!unit || state == nullptr) { + isolate->ThrowException(Exception::Error(tns::ToV8String( + isolate, "track() needs a loaded Swift module (swift.module(name)) to observe through"))); + return; + } + ValueCode code; + code.kind = ValueCode::Kind::Function; + auto* read = new SwiftCallback(isolate, unit.get(), code, "track", info[0].As()); + auto* changed = new SwiftCallback(isolate, unit.get(), code, "track", info[1].As()); + // Collects what `read` throws, as a call does. + CallContext call; + state->calls.push_back(&call); + uint8_t tracked = unit->tracker(&kAPI, read, changed); + state->calls.pop_back(); + ReleaseCallback(read); + ReleaseCallback(changed); + if (!call.callbackException.IsEmpty()) { + isolate->ThrowException(call.callbackException.Get(isolate)); + } else if (!tracked) { + isolate->ThrowException( + Exception::Error(tns::ToV8String(isolate, "Observation tracking needs iOS 17 or newer"))); + } +} + void ModuleInfoCallback(const FunctionCallbackInfo& info) { Isolate* isolate = info.GetIsolate(); Local context = isolate->GetCurrentContext(); @@ -3240,8 +3290,11 @@ void ModuleInfoCallback(const FunctionCallbackInfo& info) { Local binding = Object::New(isolate); Local loadModule; Local moduleInfo; + Local track; if (!v8::Function::New(context, LoadModuleCallback).ToLocal(&loadModule) || !v8::Function::New(context, ModuleInfoCallback).ToLocal(&moduleInfo) || + !v8::Function::New(context, TrackCallback).ToLocal(&track) || + !binding->Set(context, tns::ToV8String(isolate, "track"), track).FromMaybe(false) || !binding->Set(context, tns::ToV8String(isolate, "loadModule"), loadModule).FromMaybe(false) || !binding->Set(context, tns::ToV8String(isolate, "moduleInfo"), moduleInfo).FromMaybe(false) || !binding diff --git a/NativeScript/runtime/js/ns-swift.js b/NativeScript/runtime/js/ns-swift.js index c58dda64..592730e4 100644 --- a/NativeScript/runtime/js/ns-swift.js +++ b/NativeScript/runtime/js/ns-swift.js @@ -4,8 +4,8 @@ // generated interop thunks are linked into the app. `module(name)` returns // the module's types and top-level functions; see docs/swift-interop.md. -const { abiVersion, loadModule, moduleInfo } = binding; -const { ObjectFreeze, TypeError } = primordials; +const { abiVersion, loadModule, moduleInfo, track: trackNative } = binding; +const { ObjectFreeze, PromisePrototypeThen, PromiseResolve, TypeError } = primordials; function module(name) { if (typeof name !== "string") { @@ -21,7 +21,49 @@ function info(name) { return moduleInfo(name); } +function checkFunctions(read, onChange) { + if (typeof read !== "function" || typeof onChange !== "function") { + throw new TypeError("Expected (read, onChange) functions."); + } +} + +// Runs `read`, then calls `onChange` once when an @Observable property it +// read is about to change (withObservationTracking). +function track(read, onChange) { + checkFunctions(read, onChange); + trackNative(read, onChange); +} + +// `track`, re-armed after every change; `onChange` runs after a change made +// on this thread is stored (one made on another thread may still be in +// flight). Returns a function that stops observing. +function observe(read, onChange) { + checkFunctions(read, onChange); + let active = true; + const arm = () => { + if (!active) { + return; + } + trackNative(read, () => { + // Observation reports a change before it is made. + PromisePrototypeThen(PromiseResolve(), () => { + if (active) { + // Re-armed first, so changes onChange makes are seen. + arm(); + onChange(); + } + }); + }); + }; + arm(); + return () => { + active = false; + }; +} + exports.abiVersion = abiVersion; +exports.track = track; +exports.observe = observe; exports.module = module; exports.info = info; ObjectFreeze(exports); diff --git a/TestRunner/app/tests/SwiftInteropTests.js b/TestRunner/app/tests/SwiftInteropTests.js index 10884de2..7235fa0e 100644 --- a/TestRunner/app/tests/SwiftInteropTests.js +++ b/TestRunner/app/tests/SwiftInteropTests.js @@ -8,8 +8,8 @@ describe("ns:swift", function () { describe("modules", function () { it("exports a frozen loader", function () { expect(Object.isFrozen(swift)).toBe(true); - expect(Object.keys(swift).sort()).toEqual(["abiVersion", "info", "module"]); - expect(swift.abiVersion).toBe(9); + expect(Object.keys(swift).sort()).toEqual(["abiVersion", "info", "module", "observe", "track"]); + expect(swift.abiVersion).toBe(10); }); it("returns one frozen namespace per module", function () { @@ -20,7 +20,7 @@ describe("ns:swift", function () { it("describes the linked module", function () { var info = swift.info("SwiftDemo"); expect(info.name).toBe("SwiftDemo"); - expect(info.abiVersion).toBe(9); + expect(info.abiVersion).toBe(10); expect(info.fingerprint).toMatch(/^[0-9a-f]{16}$/); expect(info.members).toBeGreaterThan(0); }); @@ -650,6 +650,51 @@ describe("ns:swift", function () { }); }); + describe("observation", function () { + it("calls onChange once when a property read is about to change", function () { + var thermostat = new SwiftDemo.Thermostat(); + var changes = 0; + var seen; + swift.track(function () { seen = thermostat.celsius; }, function () { changes++; }); + expect(seen).toBe(20); + thermostat.label = "office"; + expect(changes).toBe(0); + thermostat.celsius = 21; + expect(changes).toBe(1); + thermostat.warm(1); + expect(changes).toBe(1); + }); + + it("keeps observing after each change, from any thread", function (done) { + var thermostat = new SwiftDemo.Thermostat(); + var values = []; + var stop = swift.observe(function () { return thermostat.celsius; }, function () { + values.push(thermostat.celsius); + if (values.length === 1) { + thermostat.warmLater(2); + return; + } + stop(); + // The background thread may not have stored the value it reported yet. + (function settle(tries) { + if (thermostat.celsius !== 23 && tries > 0) { + setTimeout(function () { settle(tries - 1); }, 10); + return; + } + expect([values[0], thermostat.celsius]).toEqual([21, 23]); + done(); + })(100); + }); + thermostat.warm(1); + }); + + it("throws what read throws", function () { + expect(function () { + swift.track(function () { throw new Error("nope"); }, function () {}); + }).toThrowError("nope"); + }); + }); + describe("Objective-C objects", function () { it("passes NativeScript's Objective-C wrappers", function () { var view = UIView.new(); diff --git a/docs/swift-interop.md b/docs/swift-interop.md index f0bf71f0..6964421f 100644 --- a/docs/swift-interop.md +++ b/docs/swift-interop.md @@ -205,6 +205,27 @@ Protocols with associated types, `Self` requirements, static or `async` requirements, initializers, or more than one refined module protocol stay type-only. +## Observation + +`@Observable` classes (iOS 17+) can be watched from JS: + +```js +const swift = require("ns:swift"); +const stop = swift.observe(() => thermostat.celsius, () => { + console.log("now", thermostat.celsius); +}); +``` + +`swift.track(read, onChange)` is Swift's `withObservationTracking`: it runs +`read`, recording the observable properties it reads, and calls `onChange` +once, when one of them is about to change. `swift.observe` re-arms after +every change and calls `onChange` once a change made on the JS thread is +stored; it returns a function that stops observing. Changes made on other +threads are reported on the JS thread too, but Observation reports a change +before it is made, so `onChange` can run before the other thread stores the +new value; share such state through an actor or a lock, as Swift requires. +Both need a loaded Swift module (its thunks carry the tracking code). + ## Async, actors and the main actor - `async` functions return a Promise. The call reads its arguments diff --git a/metadata-generator/TestFixtures/SwiftDemo/Interop/SwiftDemo+NativeScript.swift b/metadata-generator/TestFixtures/SwiftDemo/Interop/SwiftDemo+NativeScript.swift index d1b4a61f..7da3cfe9 100644 --- a/metadata-generator/TestFixtures/SwiftDemo/Interop/SwiftDemo+NativeScript.swift +++ b/metadata-generator/TestFixtures/SwiftDemo/Interop/SwiftDemo+NativeScript.swift @@ -1,6 +1,9 @@ // Generated by objc-metadata-generator from the SwiftDemo symbol graphs. Do not edit. -// NativeScript Swift interop thunks, ABI 9: see NativeScript/runtime/SwiftInterop.h. +// NativeScript Swift interop thunks, ABI 10: see NativeScript/runtime/SwiftInterop.h. import Foundation +#if canImport(Observation) +import Observation +#endif import SwiftDemo import SwiftDemoKit #if canImport(UIKit) @@ -369,6 +372,22 @@ private final class __NSJSObject: @unchecked Sendable { } } +// Runs `read`, then calls `changed` once when an observable property it read +// is about to change (withObservationTracking); 0 without Observation. +private typealias __NSTracker = @convention(c) (UnsafeRawPointer, UnsafeMutableRawPointer, UnsafeMutableRawPointer) -> UInt8 +private func __nsTrack(_ api: UnsafeRawPointer, _ read: UnsafeMutableRawPointer, + _ changed: UnsafeMutableRawPointer) -> UInt8 { +#if canImport(Observation) + if #available(iOS 17.0, macOS 14.0, tvOS 17.0, watchOS 10.0, *) { + let reader = __NSCallback(api: api, handle: read) + let notify = __NSCallback(api: api, handle: changed) + withObservationTracking { reader.invoke { _ in } } onChange: { notify.invoke { _ in } } + return 1 + } +#endif + return 0 +} + private func __nsRelease(_ object: UnsafeMutableRawPointer) { Unmanaged.fromOpaque(object).release() } @@ -439,7 +458,7 @@ private func __nsReportCase9(_ r: R, _ value: SwiftDemo.ShapeEr } // s:9SwiftDemo11MeasurementO -private func __nsReadCase10(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Measurement? { +private func __nsReadCase11(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Measurement? { let (s, _) = slots.elements(i) switch s.int64(0) { case 0: @@ -455,7 +474,7 @@ private func __nsReadCase10(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Measureme } } -private func __nsReportCase10(_ r: R, _ value: SwiftDemo.Measurement) { +private func __nsReportCase11(_ r: R, _ value: SwiftDemo.Measurement) { switch value { case let SwiftDemo.Measurement.`area`(p0, p1): r.returnCase(0) { r.returnDouble(Double(p0)); r.returnDouble(Double(p1)) } case SwiftDemo.Measurement.`none`: r.returnCase(1) { } @@ -465,7 +484,7 @@ private func __nsReportCase10(_ r: R, _ value: SwiftDemo.Measur } // s:9SwiftDemo13PrecipitationO -private func __nsEnum13(_ name: String) -> SwiftDemo.Precipitation? { +private func __nsEnum14(_ name: String) -> SwiftDemo.Precipitation? { switch name { case "rain": return SwiftDemo.Precipitation.`rain` case "snow": return SwiftDemo.Precipitation.`snow` @@ -474,7 +493,7 @@ private func __nsEnum13(_ name: String) -> SwiftDemo.Precipitation? { } } -private func __nsEnumName13(_ value: SwiftDemo.Precipitation) -> String { +private func __nsEnumName14(_ value: SwiftDemo.Precipitation) -> String { switch value { case SwiftDemo.Precipitation.`rain`: return "rain" case SwiftDemo.Precipitation.`snow`: return "snow" @@ -484,7 +503,7 @@ private func __nsEnumName13(_ value: SwiftDemo.Precipitation) -> String { } // s:9SwiftDemo6FlavorO -private func __nsEnum21(_ name: String) -> SwiftDemo.Flavor? { +private func __nsEnum22(_ name: String) -> SwiftDemo.Flavor? { switch name { case "vanilla": return SwiftDemo.Flavor.`vanilla` case "chocolate": return SwiftDemo.Flavor.`chocolate` @@ -492,7 +511,7 @@ private func __nsEnum21(_ name: String) -> SwiftDemo.Flavor? { } } -private func __nsEnumName21(_ value: SwiftDemo.Flavor) -> String { +private func __nsEnumName22(_ value: SwiftDemo.Flavor) -> String { switch value { case SwiftDemo.Flavor.`vanilla`: return "vanilla" case SwiftDemo.Flavor.`chocolate`: return "chocolate" @@ -501,15 +520,15 @@ private func __nsEnumName21(_ value: SwiftDemo.Flavor) -> String { } // s:9SwiftDemo7FormulaO -private func __nsReadCase26(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Formula? { +private func __nsReadCase27(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Formula? { let (s, _) = slots.elements(i) switch s.int64(0) { case 0: - guard let e0 = __nsReadCase26(s, 1) else { return nil } - guard let e1 = __nsReadCase26(s, 2) else { return nil } + guard let e0 = __nsReadCase27(s, 1) else { return nil } + guard let e1 = __nsReadCase27(s, 2) else { return nil } return SwiftDemo.Formula.`sum`(e0, e1) case 1: - guard let e0 = __nsReadCase26(s, 1) else { return nil } + guard let e0 = __nsReadCase27(s, 1) else { return nil } return SwiftDemo.Formula.`negate`(e0) case 2: let e0 = s.double(1) @@ -518,17 +537,17 @@ private func __nsReadCase26(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Formula? } } -private func __nsReportCase26(_ r: R, _ value: SwiftDemo.Formula) { +private func __nsReportCase27(_ r: R, _ value: SwiftDemo.Formula) { switch value { - case let SwiftDemo.Formula.`sum`(p0, p1): r.returnCase(0) { __nsReportCase26(r, p0); __nsReportCase26(r, p1) } - case let SwiftDemo.Formula.`negate`(p0): r.returnCase(1) { __nsReportCase26(r, p0) } + case let SwiftDemo.Formula.`sum`(p0, p1): r.returnCase(0) { __nsReportCase27(r, p0); __nsReportCase27(r, p1) } + case let SwiftDemo.Formula.`negate`(p0): r.returnCase(1) { __nsReportCase27(r, p0) } case let SwiftDemo.Formula.`number`(p0): r.returnCase(2) { r.returnDouble(Double(p0)) } @unknown default: r.returnNull() } } // s:9SwiftDemo7PayloadO -private func __nsReadCase29(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Payload? { +private func __nsReadCase30(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Payload? { let (s, _) = slots.elements(i) switch s.int64(0) { case 0: @@ -541,7 +560,7 @@ private func __nsReadCase29(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Payload? guard let e0 = (s.object(1) as? __NSBox)?.value else { return nil } return SwiftDemo.Payload.`point`(e0) case 3: - guard let e0 = __nsEnum21(s.string(1)) else { return nil } + guard let e0 = __nsEnum22(s.string(1)) else { return nil } return SwiftDemo.Payload.`flavor`(e0) case 4: guard let e0 = s.object(1) as? SwiftDemo.Tracker else { return nil } @@ -550,19 +569,19 @@ private func __nsReadCase29(_ slots: __NSSlots, _ i: Int) -> SwiftDemo.Payload? } } -private func __nsReportCase29(_ r: R, _ value: SwiftDemo.Payload) { +private func __nsReportCase30(_ r: R, _ value: SwiftDemo.Payload) { switch value { case let SwiftDemo.Payload.`maybe`(p0): r.returnCase(0) { if let p0 { r.returnInt64(Int64(p0)) } else { r.returnNull() } } case let SwiftDemo.Payload.`names`(p0): r.returnCase(1) { r.returnArray(p0) { element in r.returnString(element) } } - case let SwiftDemo.Payload.`point`(p0): r.returnCase(2) { r.returnObject(__NSBox(p0), 19) } - case let SwiftDemo.Payload.`flavor`(p0): r.returnCase(3) { r.returnString(__nsEnumName21(p0)) } - case let SwiftDemo.Payload.`tracker`(p0): r.returnCase(4) { r.returnObject(p0, __nsTypeIndex(p0, 33)) } + case let SwiftDemo.Payload.`point`(p0): r.returnCase(2) { r.returnObject(__NSBox(p0), 20) } + case let SwiftDemo.Payload.`flavor`(p0): r.returnCase(3) { r.returnString(__nsEnumName22(p0)) } + case let SwiftDemo.Payload.`tracker`(p0): r.returnCase(4) { r.returnObject(p0, __nsTypeIndex(p0, 34)) } @unknown default: r.returnNull() } } // s:9SwiftDemo7PolygonC5StyleO -private func __nsEnum31(_ name: String) -> SwiftDemo.Polygon.Style? { +private func __nsEnum32(_ name: String) -> SwiftDemo.Polygon.Style? { switch name { case "solid": return SwiftDemo.Polygon.Style.`solid` case "dashed": return SwiftDemo.Polygon.Style.`dashed` @@ -570,7 +589,7 @@ private func __nsEnum31(_ name: String) -> SwiftDemo.Polygon.Style? { } } -private func __nsEnumName31(_ value: SwiftDemo.Polygon.Style) -> String { +private func __nsEnumName32(_ value: SwiftDemo.Polygon.Style) -> String { switch value { case SwiftDemo.Polygon.Style.`solid`: return "solid" case SwiftDemo.Polygon.Style.`dashed`: return "dashed" @@ -579,7 +598,7 @@ private func __nsEnumName31(_ value: SwiftDemo.Polygon.Style) -> String { } // s:9SwiftDemo12RankedScorerP -private final class __NSAdapter12: SwiftDemo.RankedScorer, @unchecked Sendable { +private final class __NSAdapter13: SwiftDemo.RankedScorer, @unchecked Sendable { let object: __NSJSObject init(_ object: __NSJSObject) { self.object = object } func `score`(_ p0: Int) throws -> Int { @@ -596,22 +615,22 @@ private final class __NSAdapter12: SwiftDemo.RankedScorer, @unchecked Sendable { } } -private func __nsProtocol12(_ slots: __NSSlots, _ i: Int) -> (any SwiftDemo.RankedScorer)? { +private func __nsProtocol13(_ slots: __NSSlots, _ i: Int) -> (any SwiftDemo.RankedScorer)? { if slots.tag(i) == 12 { - return __NSAdapter12(__NSJSObject(api: slots.api, handle: slots.callback(i))) + return __NSAdapter13(__NSJSObject(api: slots.api, handle: slots.callback(i))) } let object = slots.object(i) if let box = object as? __NSAnyBox { return box.anyValue as? any SwiftDemo.RankedScorer } return object as? any SwiftDemo.RankedScorer } -private func __nsReportProtocol12(_ r: R, _ value: any SwiftDemo.RankedScorer) { - if let adapter = value as? __NSAdapter12 { return r.returnJSObject(adapter.object) } - r.returnObject(__NSBox(value), 12) +private func __nsReportProtocol13(_ r: R, _ value: any SwiftDemo.RankedScorer) { + if let adapter = value as? __NSAdapter13 { return r.returnJSObject(adapter.object) } + r.returnObject(__NSBox(value), 13) } // s:9SwiftDemo6ScorerP -private final class __NSAdapter23: SwiftDemo.Scorer, @unchecked Sendable { +private final class __NSAdapter24: SwiftDemo.Scorer, @unchecked Sendable { let object: __NSJSObject init(_ object: __NSJSObject) { self.object = object } func `score`(_ p0: Int) throws -> Int { @@ -621,23 +640,23 @@ private final class __NSAdapter23: SwiftDemo.Scorer, @unchecked Sendable { } } -private func __nsProtocol23(_ slots: __NSSlots, _ i: Int) -> (any SwiftDemo.Scorer)? { +private func __nsProtocol24(_ slots: __NSSlots, _ i: Int) -> (any SwiftDemo.Scorer)? { if slots.tag(i) == 12 { - return __NSAdapter23(__NSJSObject(api: slots.api, handle: slots.callback(i))) + return __NSAdapter24(__NSJSObject(api: slots.api, handle: slots.callback(i))) } let object = slots.object(i) if let box = object as? __NSAnyBox { return box.anyValue as? any SwiftDemo.Scorer } return object as? any SwiftDemo.Scorer } -private func __nsReportProtocol23(_ r: R, _ value: any SwiftDemo.Scorer) { - if let adapter = value as? __NSAdapter23 { return r.returnJSObject(adapter.object) } - if let v = value as? SwiftDemo.DoublingScorer { return r.returnObject(__NSBox(v), 14) } - r.returnObject(__NSBox(value), 23) +private func __nsReportProtocol24(_ r: R, _ value: any SwiftDemo.Scorer) { + if let adapter = value as? __NSAdapter24 { return r.returnJSObject(adapter.object) } + if let v = value as? SwiftDemo.DoublingScorer { return r.returnObject(__NSBox(v), 15) } + r.returnObject(__NSBox(value), 24) } // s:9SwiftDemo7GreeterP -private final class __NSAdapter27: SwiftDemo.Greeter, @unchecked Sendable { +private final class __NSAdapter28: SwiftDemo.Greeter, @unchecked Sendable { let object: __NSJSObject init(_ object: __NSJSObject) { self.object = object } func `greet`(`name` p0: String) -> String { @@ -647,24 +666,24 @@ private final class __NSAdapter27: SwiftDemo.Greeter, @unchecked Sendable { } } -private func __nsProtocol27(_ slots: __NSSlots, _ i: Int) -> (any SwiftDemo.Greeter)? { +private func __nsProtocol28(_ slots: __NSSlots, _ i: Int) -> (any SwiftDemo.Greeter)? { if slots.tag(i) == 12 { - return __NSAdapter27(__NSJSObject(api: slots.api, handle: slots.callback(i))) + return __NSAdapter28(__NSJSObject(api: slots.api, handle: slots.callback(i))) } let object = slots.object(i) if let box = object as? __NSAnyBox { return box.anyValue as? any SwiftDemo.Greeter } return object as? any SwiftDemo.Greeter } -private func __nsReportProtocol27(_ r: R, _ value: any SwiftDemo.Greeter) { - if let adapter = value as? __NSAdapter27 { return r.returnJSObject(adapter.object) } - if let v = value as? SwiftDemo.Square { return r.returnObject(v, __nsTypeIndex(v, 24)) } +private func __nsReportProtocol28(_ r: R, _ value: any SwiftDemo.Greeter) { + if let adapter = value as? __NSAdapter28 { return r.returnJSObject(adapter.object) } + if let v = value as? SwiftDemo.Square { return r.returnObject(v, __nsTypeIndex(v, 25)) } if let v = value as? SwiftDemo.Demo { return r.returnObject(v, __nsTypeIndex(v, 8)) } - r.returnObject(__NSBox(value), 27) + r.returnObject(__NSBox(value), 28) } // s:9SwiftDemo8GreetingP -private final class __NSAdapter34: SwiftDemo.Greeting, @unchecked Sendable { +private final class __NSAdapter35: SwiftDemo.Greeting, @unchecked Sendable { let object: __NSJSObject init(_ object: __NSJSObject) { self.object = object } var `punctuation`: String { @@ -694,23 +713,23 @@ private final class __NSAdapter34: SwiftDemo.Greeting, @unchecked Sendable { } } -private func __nsProtocol34(_ slots: __NSSlots, _ i: Int) -> (any SwiftDemo.Greeting)? { +private func __nsProtocol35(_ slots: __NSSlots, _ i: Int) -> (any SwiftDemo.Greeting)? { if slots.tag(i) == 12 { - return __NSAdapter34(__NSJSObject(api: slots.api, handle: slots.callback(i))) + return __NSAdapter35(__NSJSObject(api: slots.api, handle: slots.callback(i))) } let object = slots.object(i) if let box = object as? __NSAnyBox { return box.anyValue as? any SwiftDemo.Greeting } return object as? any SwiftDemo.Greeting } -private func __nsReportProtocol34(_ r: R, _ value: any SwiftDemo.Greeting) { - if let adapter = value as? __NSAdapter34 { return r.returnJSObject(adapter.object) } - if let v = value as? SwiftDemo.FormalGreeting { return r.returnObject(v, __nsTypeIndex(v, 15)) } - r.returnObject(__NSBox(value), 34) +private func __nsReportProtocol35(_ r: R, _ value: any SwiftDemo.Greeting) { + if let adapter = value as? __NSAdapter35 { return r.returnJSObject(adapter.object) } + if let v = value as? SwiftDemo.FormalGreeting { return r.returnObject(v, __nsTypeIndex(v, 16)) } + r.returnObject(__NSBox(value), 35) } private func __nsTypeIndex(_ object: AnyObject, _ declared: UInt32) -> UInt32 { - if object is SwiftDemo.Square { return 24 } + if object is SwiftDemo.Square { return 25 } return declared } @@ -1034,15 +1053,81 @@ private func __nsThunk37(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint rt.returnObject(result, __nsTypeIndex(result, 8)) } -// s:9SwiftDemo10allFlavorsSayAA6FlavorOGyF +// s:9SwiftDemo10ThermostatC4warm2byySd_tF private func __nsThunk38(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard #available(iOS 17.0, *) else { return rt.throwMessage("warm(by:) requires iOS 17.0") } + guard let receiver = rt.object(0) as? SwiftDemo.Thermostat else { return rt.throwTypeError("receiver must be SwiftDemo.Thermostat") } + let a0 = rt.slots.double(1) + let _: Void = receiver.`warm`(by: a0) + rt.returnVoid() +} + +// s:9SwiftDemo10ThermostatC5labelSSvp +private func __nsThunk39(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard #available(iOS 17.0, *) else { return rt.throwMessage("label requires iOS 17.0") } + guard let receiver = rt.object(0) as? SwiftDemo.Thermostat else { return rt.throwTypeError("receiver must be SwiftDemo.Thermostat") } + let result: String = receiver.`label` + rt.returnString(result) +} + +// s:9SwiftDemo10ThermostatC5labelSSvp (setter) +private func __nsThunk40(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard #available(iOS 17.0, *) else { return rt.throwMessage("label requires iOS 17.0") } + guard let receiver = rt.object(0) as? SwiftDemo.Thermostat else { return rt.throwTypeError("receiver must be SwiftDemo.Thermostat") } + let newValue = rt.slots.string(1) + receiver.`label` = newValue + rt.returnVoid() +} + +// s:9SwiftDemo10ThermostatC7celsiusSdvp +private func __nsThunk41(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard #available(iOS 17.0, *) else { return rt.throwMessage("celsius requires iOS 17.0") } + guard let receiver = rt.object(0) as? SwiftDemo.Thermostat else { return rt.throwTypeError("receiver must be SwiftDemo.Thermostat") } + let result: Double = receiver.`celsius` + rt.returnDouble(Double(result)) +} + +// s:9SwiftDemo10ThermostatC7celsiusSdvp (setter) +private func __nsThunk42(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard #available(iOS 17.0, *) else { return rt.throwMessage("celsius requires iOS 17.0") } + guard let receiver = rt.object(0) as? SwiftDemo.Thermostat else { return rt.throwTypeError("receiver must be SwiftDemo.Thermostat") } + let newValue = rt.slots.double(1) + receiver.`celsius` = newValue + rt.returnVoid() +} + +// s:9SwiftDemo10ThermostatC9warmLater2byySd_tF +private func __nsThunk43(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard #available(iOS 17.0, *) else { return rt.throwMessage("warmLater(by:) requires iOS 17.0") } + guard let receiver = rt.object(0) as? SwiftDemo.Thermostat else { return rt.throwTypeError("receiver must be SwiftDemo.Thermostat") } + let a0 = rt.slots.double(1) + let _: Void = receiver.`warmLater`(by: a0) + rt.returnVoid() +} + +// s:9SwiftDemo10ThermostatCACycfc +private func __nsThunk44(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { + let rt = __NSCall(call: call, args: args) + guard #available(iOS 17.0, *) else { return rt.throwMessage("init() requires iOS 17.0") } + let result: SwiftDemo.Thermostat = SwiftDemo.Thermostat() + rt.returnObject(result, __nsTypeIndex(result, 10)) +} + +// s:9SwiftDemo10allFlavorsSayAA6FlavorOGyF +private func __nsThunk45(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: [SwiftDemo.Flavor] = SwiftDemo.`allFlavors`() - rt.returnArray(result) { element in rt.returnString(__nsEnumName21(element)) } + rt.returnArray(result) { element in rt.returnString(__nsEnumName22(element)) } } // s:9SwiftDemo10echoUInt64ys0D0VADF -private func __nsThunk39(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk46(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.uint64(0) let result: UInt64 = SwiftDemo.`echoUInt64`(a0) @@ -1050,7 +1135,7 @@ private func __nsThunk39(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo10greetLater_10completionySSSg_yADYbctF -private func __nsThunk40(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk47(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.isNull(0) ? nil : rt.slots.string(0) let a1 = { () -> @Sendable (String?) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(1)); return { (p0: String?) in callback.invoke { r in if let p0 { r.returnString(p0) } else { r.returnNull() } } } }() @@ -1059,21 +1144,21 @@ private func __nsThunk40(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo10largestIntSiyF -private func __nsThunk41(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk48(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: Int = SwiftDemo.`largestInt`() rt.returnInt64(Int64(result)) } // s:9SwiftDemo10makeScorerAA0D0_pyF -private func __nsThunk42(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk49(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: any SwiftDemo.Scorer = SwiftDemo.`makeScorer`() - __nsReportProtocol23(rt, result) + __nsReportProtocol24(rt, result) } // s:9SwiftDemo10namesLaterySaySSGSiYaF -private func __nsThunk43(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk50(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let completion = rt.beginAsync() @@ -1086,7 +1171,7 @@ private func __nsThunk43(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo10wordCountsySDySSSiGSaySSGF -private func __nsThunk44(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk51(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> String? in s.string(j) }) else { return rt.throwTypeError("argument 1 must be an array of String") } let result: [String: Int] = SwiftDemo.`wordCounts`(a0) @@ -1094,15 +1179,15 @@ private func __nsThunk44(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc -private func __nsThunk45(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk52(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Measurement.Unit = SwiftDemo.Measurement.Unit(symbol: a0) - rt.returnObject(__NSBox(result), 11) + rt.returnObject(__NSBox(result), 12) } // s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp -private func __nsThunk46(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk53(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Measurement.Unit") } let result: String = box.value.`symbol` @@ -1110,7 +1195,7 @@ private func __nsThunk46(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp (setter) -private func __nsThunk47(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk54(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Measurement.Unit") } let newValue = rt.slots.string(1) @@ -1119,15 +1204,15 @@ private func __nsThunk47(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo11MeasurementO6isNoneSbvp -private func __nsThunk48(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk55(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsReadCase10(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Measurement") } + guard let receiver = __nsReadCase11(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Measurement") } let result: Bool = receiver.`isNone` rt.returnBool(result) } // s:9SwiftDemo11checkedSideyS2dKF -private func __nsThunk49(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk56(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) do { @@ -1139,7 +1224,7 @@ private func __nsThunk49(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo11delayedEcho_5afterS2S_SdtYaKF -private func __nsThunk50(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk57(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let a1 = rt.slots.double(1) @@ -1157,9 +1242,9 @@ private func __nsThunk50(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo12RankedScorerP4rankSiSgvp -private func __nsThunk51(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk58(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsProtocol12(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.RankedScorer") } + guard let receiver = __nsProtocol13(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.RankedScorer") } let result: Int? = receiver.`rank` if let result { rt.returnInt64(Int64(result)) @@ -1169,7 +1254,7 @@ private func __nsThunk51(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF -private func __nsThunk52(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk59(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = rt.slots.object(0) as? UIView else { return rt.throwTypeError("argument 1 must be a UIView") } let result: UIView? = SwiftDemo.`firstSubview`(of: a0) @@ -1181,15 +1266,15 @@ private func __nsThunk52(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo12makeGreetingyAA0D0_pSSF -private func __nsThunk53(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk60(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: any SwiftDemo.Greeting = SwiftDemo.`makeGreeting`(a0) - __nsReportProtocol34(rt, result) + __nsReportProtocol35(rt, result) } // s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF -private func __nsThunk54(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk61(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let completion = rt.beginAsync() @@ -1197,58 +1282,58 @@ private func __nsThunk54(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint Task { let a0 = captured.value let result: SwiftDemo.Measurement = await SwiftDemo.`measureLater`(a0) - __nsReportCase10(completion, result) + __nsReportCase11(completion, result) } } // s:9SwiftDemo12measurementsSayAA11MeasurementOGyF -private func __nsThunk55(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk62(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: [SwiftDemo.Measurement] = SwiftDemo.`measurements`() - rt.returnArray(result) { element in __nsReportCase10(rt, element) } + rt.returnArray(result) { element in __nsReportCase11(rt, element) } } // s:9SwiftDemo12swapTrackersyyAA7TrackerCz_ADztF -private func __nsThunk56(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk63(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let v0 = rt.slots.object(0) as? SwiftDemo.Tracker else { return rt.throwTypeError("argument 1 must be SwiftDemo.Tracker") } var a0 = v0 guard let v1 = rt.slots.object(1) as? SwiftDemo.Tracker else { return rt.throwTypeError("argument 2 must be SwiftDemo.Tracker") } var a1 = v1 let _: Void = SwiftDemo.`swapTrackers`(&a0, &a1) - rt.writeBack(0) { rt.returnObject(a0, __nsTypeIndex(a0, 33)) } - rt.writeBack(1) { rt.returnObject(a1, __nsTypeIndex(a1, 33)) } + rt.writeBack(0) { rt.returnObject(a0, __nsTypeIndex(a0, 34)) } + rt.writeBack(1) { rt.returnObject(a1, __nsTypeIndex(a1, 34)) } rt.returnVoid() } // s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc -private func __nsThunk57(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk64(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Precipitation? = SwiftDemo.Precipitation(rawValue: a0) if let result { - rt.returnString(__nsEnumName13(result)) + rt.returnString(__nsEnumName14(result)) } else { rt.returnNull() } } // s:9SwiftDemo13defaultFlavorAA0D0Ovp -private func __nsThunk58(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk65(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Flavor = SwiftDemo.`defaultFlavor` - rt.returnString(__nsEnumName21(result)) + rt.returnString(__nsEnumName22(result)) } // s:9SwiftDemo13globalCounterSivp -private func __nsThunk59(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk66(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: Int = SwiftDemo.`globalCounter` rt.returnInt64(Int64(result)) } // s:9SwiftDemo13globalCounterSivp (setter) -private func __nsThunk60(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk67(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let newValue = Int(truncatingIfNeeded: rt.slots.int64(0)) SwiftDemo.`globalCounter` = newValue @@ -1256,7 +1341,7 @@ private func __nsThunk60(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF -private func __nsThunk61(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk68(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemoKit.Wallet = SwiftDemo.`starterWallet`(for: a0) @@ -1264,7 +1349,7 @@ private func __nsThunk61(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo14DoublingScorerV5scoreyS2iF -private func __nsThunk62(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk69(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.DoublingScorer") } let a0 = Int(truncatingIfNeeded: rt.slots.int64(1)) @@ -1273,14 +1358,14 @@ private func __nsThunk62(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo14DoublingScorerVACycfc -private func __nsThunk63(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk70(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.DoublingScorer = SwiftDemo.DoublingScorer() - rt.returnObject(__NSBox(result), 14) + rt.returnObject(__NSBox(result), 15) } // s:9SwiftDemo14FormalGreetingC11punctuationSSvp -private func __nsThunk64(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk71(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.FormalGreeting else { return rt.throwTypeError("receiver must be SwiftDemo.FormalGreeting") } let result: String = receiver.`punctuation` @@ -1288,7 +1373,7 @@ private func __nsThunk64(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo14FormalGreetingC11punctuationSSvp (setter) -private func __nsThunk65(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk72(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.FormalGreeting else { return rt.throwTypeError("receiver must be SwiftDemo.FormalGreeting") } let newValue = rt.slots.string(1) @@ -1297,15 +1382,15 @@ private func __nsThunk65(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo14FormalGreetingC4nameACSS_tcfc -private func __nsThunk66(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk73(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.FormalGreeting = SwiftDemo.FormalGreeting(name: a0) - rt.returnObject(result, __nsTypeIndex(result, 15)) + rt.returnObject(result, __nsTypeIndex(result, 16)) } // s:9SwiftDemo14FormalGreetingC4nameSSvp -private func __nsThunk67(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk74(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.FormalGreeting else { return rt.throwTypeError("receiver must be SwiftDemo.FormalGreeting") } let result: String = receiver.`name` @@ -1313,7 +1398,7 @@ private func __nsThunk67(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo14FormalGreetingC5greetyS2SF -private func __nsThunk68(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk75(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.FormalGreeting else { return rt.throwTypeError("receiver must be SwiftDemo.FormalGreeting") } let a0 = rt.slots.string(1) @@ -1322,7 +1407,7 @@ private func __nsThunk68(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo14FormalGreetingC5resetyyF -private func __nsThunk69(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk76(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.FormalGreeting else { return rt.throwTypeError("receiver must be SwiftDemo.FormalGreeting") } let _: Void = receiver.`reset`() @@ -1330,7 +1415,7 @@ private func __nsThunk69(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo14GreetingHolderC5greetySSSgSSF -private func __nsThunk70(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk77(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.GreetingHolder else { return rt.throwTypeError("receiver must be SwiftDemo.GreetingHolder") } let a0 = rt.slots.string(1) @@ -1343,24 +1428,24 @@ private func __nsThunk70(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo14GreetingHolderC8greetingAA0C0_pSgvp -private func __nsThunk71(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk78(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.GreetingHolder else { return rt.throwTypeError("receiver must be SwiftDemo.GreetingHolder") } let result: (any SwiftDemo.Greeting)? = receiver.`greeting` if let result { - __nsReportProtocol34(rt, result) + __nsReportProtocol35(rt, result) } else { rt.returnNull() } } // s:9SwiftDemo14GreetingHolderC8greetingAA0C0_pSgvp (setter) -private func __nsThunk72(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk79(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.GreetingHolder else { return rt.throwTypeError("receiver must be SwiftDemo.GreetingHolder") } var newValue: SwiftDemo.Greeting? = nil if !rt.slots.isNull(1) { - guard let value = __nsProtocol34(rt.slots, 1) else { return rt.throwTypeError("value must be a SwiftDemo.Greeting (a Swift value or JS implementation)") } + guard let value = __nsProtocol35(rt.slots, 1) else { return rt.throwTypeError("value must be a SwiftDemo.Greeting (a Swift value or JS implementation)") } newValue = value } receiver.`greeting` = newValue @@ -1368,21 +1453,21 @@ private func __nsThunk72(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo14GreetingHolderCACycfc -private func __nsThunk73(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk80(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.GreetingHolder = SwiftDemo.GreetingHolder() - rt.returnObject(result, __nsTypeIndex(result, 16)) + rt.returnObject(result, __nsTypeIndex(result, 17)) } // s:9SwiftDemo16makeDefaultPointAA0E0VyF -private func __nsThunk74(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk81(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Point = SwiftDemo.`makeDefaultPoint`() - rt.returnObject(__NSBox(result), 19) + rt.returnObject(__NSBox(result), 20) } // s:9SwiftDemo16makeTrackerLater2idAA0D0CSi_tYaF -private func __nsThunk75(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk82(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let completion = rt.beginAsync() @@ -1390,14 +1475,14 @@ private func __nsThunk75(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint Task { let a0 = captured.value let result: SwiftDemo.Tracker = await SwiftDemo.`makeTrackerLater`(id: a0) - completion.returnObject(result, __nsTypeIndex(result, 33)) + completion.returnObject(result, __nsTypeIndex(result, 34)) } } // s:9SwiftDemo17greetInBackgroundySSAA8Greeting_pYaF -private func __nsThunk76(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk83(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Greeting (a Swift value or JS implementation)") } + guard let a0 = __nsProtocol35(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Greeting (a Swift value or JS implementation)") } let completion = rt.beginAsync() let captured = __NSUnchecked(a0) Task { @@ -1408,15 +1493,15 @@ private func __nsThunk76(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo3JobO6TicketV2idAESi_tcfc -private func __nsThunk77(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk84(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: SwiftDemo.Job.Ticket = SwiftDemo.Job.Ticket(id: a0) - rt.returnObject(__NSBox(result), 17) + rt.returnObject(__NSBox(result), 18) } // s:9SwiftDemo3JobO6TicketV2idSivp -private func __nsThunk78(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk85(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Job.Ticket") } let result: Int = box.value.`id` @@ -1424,7 +1509,7 @@ private func __nsThunk78(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo3JobO6TicketV2idSivp (setter) -private func __nsThunk79(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk86(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Job.Ticket") } let newValue = Int(truncatingIfNeeded: rt.slots.int64(1)) @@ -1433,7 +1518,7 @@ private func __nsThunk79(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF -private func __nsThunk80(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk87(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> SwiftDemoKit.Money? in (s.object(j) as? __NSBox)?.value }) else { return rt.throwTypeError("argument 1 must be an array of SwiftDemoKit.Money") } let result: SwiftDemoKit.Money = SwiftDemo.`sum`(of: a0) @@ -1441,24 +1526,24 @@ private func __nsThunk80(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc -private func __nsThunk81(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk88(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = (rt.slots.object(0) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemo.Point") } guard let a1 = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("argument 2 must be SwiftDemo.Point") } let result: SwiftDemo.Ring = SwiftDemo.Ring(inner: a0, outer: a1) - rt.returnObject(__NSBox(result), 18) + rt.returnObject(__NSBox(result), 19) } // s:9SwiftDemo4RingV5innerAA5PointVvp -private func __nsThunk82(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk89(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } let result: SwiftDemo.Point = box.value.`inner` - rt.returnObject(__NSBox(result), 19) + rt.returnObject(__NSBox(result), 20) } // s:9SwiftDemo4RingV5innerAA5PointVvp (setter) -private func __nsThunk83(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk90(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } guard let newValue = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("value must be SwiftDemo.Point") } @@ -1467,15 +1552,15 @@ private func __nsThunk83(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4RingV5outerAA5PointVvp -private func __nsThunk84(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk91(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } let result: SwiftDemo.Point = box.value.`outer` - rt.returnObject(__NSBox(result), 19) + rt.returnObject(__NSBox(result), 20) } // s:9SwiftDemo4RingV5outerAA5PointVvp (setter) -private func __nsThunk85(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk92(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } guard let newValue = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("value must be SwiftDemo.Point") } @@ -1484,7 +1569,7 @@ private func __nsThunk85(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4RingV6expand2byySd_tF -private func __nsThunk86(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk93(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Ring") } let a0 = rt.slots.double(1) @@ -1493,15 +1578,15 @@ private func __nsThunk86(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4area2ofSdAA11MeasurementO_tF -private func __nsThunk87(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk94(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsReadCase10(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Measurement") } + guard let a0 = __nsReadCase11(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Measurement") } let result: Double = SwiftDemo.`area`(of: a0) rt.returnDouble(Double(result)) } // s:9SwiftDemo4bumpyySizF -private func __nsThunk88(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk95(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let v0 = Int(truncatingIfNeeded: rt.slots.int64(0)) var a0 = v0 @@ -1511,15 +1596,15 @@ private func __nsThunk88(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4echoyAA7PayloadOADF -private func __nsThunk89(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk96(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsReadCase29(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Payload") } + guard let a0 = __nsReadCase30(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Payload") } let result: SwiftDemo.Payload = SwiftDemo.`echo`(a0) - __nsReportCase29(rt, result) + __nsReportCase30(rt, result) } // s:9SwiftDemo4flipy0aB3Kit4CoinOAEF -private func __nsThunk90(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk97(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsEnum2(rt.slots.string(0)) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemoKit.Coin") } let result: SwiftDemoKit.Coin = SwiftDemo.`flip`(a0) @@ -1527,7 +1612,7 @@ private func __nsThunk90(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF -private func __nsThunk91(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk98(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = URL(string: rt.slots.string(0)) else { return rt.throwTypeError("argument 1 must be a valid URL") } let result: String? = SwiftDemo.`host`(of: a0) @@ -1539,7 +1624,7 @@ private func __nsThunk91(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4rampy10Foundation4DataVSiF -private func __nsThunk92(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk99(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: Data = SwiftDemo.`ramp`(a0) @@ -1547,15 +1632,15 @@ private func __nsThunk92(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4sameyAA8Greeting_pAaC_pF -private func __nsThunk93(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk100(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Greeting (a Swift value or JS implementation)") } + guard let a0 = __nsProtocol35(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Greeting (a Swift value or JS implementation)") } let result: any SwiftDemo.Greeting = SwiftDemo.`same`(a0) - __nsReportProtocol34(rt, result) + __nsReportProtocol35(rt, result) } // s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF -private func __nsThunk94(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk101(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> UIView? in s.object(j) as? UIView }) else { return rt.throwTypeError("argument 1 must be an array of a UIView") } let result: [Int] = SwiftDemo.`tags`(a0) @@ -1563,7 +1648,7 @@ private func __nsThunk94(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo4text2ofSSAA4NoteC_tF -private func __nsThunk95(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk102(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = rt.slots.object(0) as? SwiftDemo.Note else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Note") } let result: String = SwiftDemo.`text`(of: a0) @@ -1571,7 +1656,7 @@ private func __nsThunk95(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV11descriptionSSvp -private func __nsThunk96(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk103(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let result: String = box.value.`description` @@ -1579,16 +1664,16 @@ private func __nsThunk96(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV1x1yACSd_Sdtcfc -private func __nsThunk97(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk104(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let a1 = rt.slots.double(1) let result: SwiftDemo.Point = SwiftDemo.Point(x: a0, y: a1) - rt.returnObject(__NSBox(result), 19) + rt.returnObject(__NSBox(result), 20) } // s:9SwiftDemo5PointV1xSdvp -private func __nsThunk98(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk105(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let result: Double = box.value.`x` @@ -1596,7 +1681,7 @@ private func __nsThunk98(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV1xSdvp (setter) -private func __nsThunk99(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk106(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let newValue = rt.slots.double(1) @@ -1605,7 +1690,7 @@ private func __nsThunk99(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoint } // s:9SwiftDemo5PointV1ySdvp -private func __nsThunk100(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk107(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let result: Double = box.value.`y` @@ -1613,7 +1698,7 @@ private func __nsThunk100(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo5PointV1ySdvp (setter) -private func __nsThunk101(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk108(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let newValue = rt.slots.double(1) @@ -1622,7 +1707,7 @@ private func __nsThunk101(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo5PointV6lengthSdvp -private func __nsThunk102(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk109(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Point") } let result: Double = box.value.`length` @@ -1630,7 +1715,7 @@ private func __nsThunk102(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo5boxedy0aB3Kit3BoxCyAC5MoneyVGAGF -private func __nsThunk103(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk110(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = (rt.slots.object(0) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemoKit.Money") } let result: SwiftDemoKit.Box = SwiftDemo.`boxed`(a0) @@ -1638,7 +1723,7 @@ private func __nsThunk103(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo5clearyySSSgzF -private func __nsThunk104(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk111(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let v0 = rt.slots.isNull(0) ? nil : rt.slots.string(0) var a0 = v0 @@ -1648,7 +1733,7 @@ private func __nsThunk104(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo5halveyySizKF -private func __nsThunk105(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk112(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let v0 = Int(truncatingIfNeeded: rt.slots.int64(0)) var a0 = v0 @@ -1662,7 +1747,7 @@ private func __nsThunk105(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo5namesySaySSGSiF -private func __nsThunk106(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk113(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: [String] = SwiftDemo.`names`(a0) @@ -1670,7 +1755,7 @@ private func __nsThunk106(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo5shoutySSSgACF -private func __nsThunk107(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk114(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.isNull(0) ? nil : rt.slots.string(0) let result: String? = SwiftDemo.`shout`(a0) @@ -1682,7 +1767,7 @@ private func __nsThunk107(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo5totalySdSaySdGF -private func __nsThunk108(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk115(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> Double? in s.double(j) }) else { return rt.throwTypeError("argument 1 must be an array of Double") } let result: Double = SwiftDemo.`total`(a0) @@ -1690,37 +1775,37 @@ private func __nsThunk108(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6CanvasCACycfc -private func __nsThunk109(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk116(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard Thread.isMainThread else { return rt.throwMessage("init() is isolated to the main actor; call it on the main thread") } MainActor.assumeIsolated { let result: SwiftDemo.Canvas = SwiftDemo.Canvas() - rt.returnObject(result, __nsTypeIndex(result, 20)) + rt.returnObject(result, __nsTypeIndex(result, 21)) } } // s:9SwiftDemo6FlavorO11descriptionSSvp -private func __nsThunk110(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk117(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsEnum21(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Flavor") } + guard let receiver = __nsEnum22(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Flavor") } let result: String = receiver.`description` rt.returnString(result) } // s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc -private func __nsThunk111(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk118(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: SwiftDemo.Flavor? = SwiftDemo.Flavor(rawValue: a0) if let result { - rt.returnString(__nsEnumName21(result)) + rt.returnString(__nsEnumName22(result)) } else { rt.returnNull() } } // s:9SwiftDemo6LoaderC10modernOnlyyyF -private func __nsThunk112(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk119(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard #available(iOS 16.0, *) else { return rt.throwMessage("modernOnly() requires iOS 16.0") } guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } @@ -1729,7 +1814,7 @@ private func __nsThunk112(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6LoaderC11legacyFetchyyF -private func __nsThunk113(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk120(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let _: Void = receiver.`legacyFetch`() @@ -1737,7 +1822,7 @@ private func __nsThunk113(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6LoaderC4eachyyySiXEF -private func __nsThunk114(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk121(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let a0 = { () -> (Int) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(1)); return { (p0: Int) in callback.invoke { r in r.returnInt64(Int64(p0)) } } }() @@ -1746,7 +1831,7 @@ private func __nsThunk114(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF -private func __nsThunk115(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk122(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let a0 = rt.slots.string(1) @@ -1759,7 +1844,7 @@ private func __nsThunk115(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF -private func __nsThunk116(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk123(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let a0 = rt.slots.double(1) @@ -1773,7 +1858,7 @@ private func __nsThunk116(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF -private func __nsThunk117(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk124(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } guard let a0 = URL(string: rt.slots.string(1)) else { return rt.throwTypeError("argument 1 must be a valid URL") } @@ -1791,7 +1876,7 @@ private func __nsThunk117(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF -private func __nsThunk118(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk125(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } guard let a0 = __nsReadMap(rt.slots, 1, { (s: __NSSlots, j: Int) -> Int? in Int(truncatingIfNeeded: s.int64(j)) }) else { return rt.throwTypeError("argument 1 must be an object whose values are Int") } @@ -1805,18 +1890,18 @@ private func __nsThunk118(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6LoaderC6updateyyAA5PointVzF -private func __nsThunk119(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk126(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } guard let v0 = (rt.slots.object(1) as? __NSBox)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemo.Point") } var a0 = v0 let _: Void = receiver.`update`(&a0) - rt.writeBack(0) { rt.returnObject(__NSBox(a0), 19) } + rt.writeBack(0) { rt.returnObject(__NSBox(a0), 20) } rt.returnVoid() } // s:9SwiftDemo6LoaderC8oldFetchyyF -private func __nsThunk120(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk127(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Loader else { return rt.throwTypeError("receiver must be SwiftDemo.Loader") } let _: Void = receiver.`oldFetch`() @@ -1824,16 +1909,16 @@ private func __nsThunk120(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6LoaderCACycfc -private func __nsThunk121(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk128(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Loader = SwiftDemo.Loader() - rt.returnObject(result, __nsTypeIndex(result, 22)) + rt.returnObject(result, __nsTypeIndex(result, 23)) } // s:9SwiftDemo6ScorerP5scoreyS2iKF -private func __nsThunk122(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk129(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsProtocol23(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Scorer") } + guard let receiver = __nsProtocol24(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Scorer") } let a0 = Int(truncatingIfNeeded: rt.slots.int64(1)) do { let result: Int = try receiver.`score`(a0) @@ -1844,7 +1929,7 @@ private func __nsThunk122(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6SquareC4areaSdvp -private func __nsThunk123(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk130(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let result: Double = receiver.`area` @@ -1852,15 +1937,15 @@ private func __nsThunk123(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6SquareC4sideACSd_tcfc -private func __nsThunk124(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk131(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let result: SwiftDemo.Square = SwiftDemo.Square(side: a0) - rt.returnObject(result, __nsTypeIndex(result, 24)) + rt.returnObject(result, __nsTypeIndex(result, 25)) } // s:9SwiftDemo6SquareC4sideSdvp -private func __nsThunk125(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk132(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let result: Double = receiver.`side` @@ -1868,7 +1953,7 @@ private func __nsThunk125(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6SquareC4sideSdvp (setter) -private func __nsThunk126(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk133(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let newValue = rt.slots.double(1) @@ -1877,7 +1962,7 @@ private func __nsThunk126(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6SquareC5greet4nameS2S_tF -private func __nsThunk127(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk134(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let a0 = rt.slots.string(1) @@ -1886,7 +1971,7 @@ private func __nsThunk127(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6SquareC5scale2byySd_tF -private func __nsThunk128(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk135(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Square else { return rt.throwTypeError("receiver must be SwiftDemo.Square") } let a0 = rt.slots.double(1) @@ -1895,14 +1980,14 @@ private func __nsThunk128(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6SquareC5sidesSivpZ -private func __nsThunk129(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk136(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: Int = SwiftDemo.Square.`sides` rt.returnInt64(Int64(result)) } // s:9SwiftDemo6append_2toySS_SaySSGztF -private func __nsThunk130(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk137(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) guard let v1 = __nsReadArray(rt.slots, 1, { (s: __NSSlots, j: Int) -> String? in s.string(j) }) else { return rt.throwTypeError("argument 2 must be an array of String") } @@ -1913,15 +1998,15 @@ private func __nsThunk130(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo6exciteyyAA8Greeting_pF -private func __nsThunk131(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk138(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Greeting (a Swift value or JS implementation)") } + guard let a0 = __nsProtocol35(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Greeting (a Swift value or JS implementation)") } let _: Void = SwiftDemo.`excite`(a0) rt.returnVoid() } // s:9SwiftDemo6settley0aB3Kit7OutcomeOySiGSiF -private func __nsThunk132(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk139(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: SwiftDemoKit.Outcome = SwiftDemo.`settle`(a0) @@ -1929,7 +2014,7 @@ private func __nsThunk132(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7CounterC4stepSivp -private func __nsThunk133(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk140(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Counter else { return rt.throwTypeError("receiver must be SwiftDemo.Counter") } let completion = rt.beginAsync() @@ -1942,7 +2027,7 @@ private func __nsThunk133(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7CounterC5labelSSyF -private func __nsThunk134(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk141(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Counter else { return rt.throwTypeError("receiver must be SwiftDemo.Counter") } let result: String = receiver.`label`() @@ -1950,7 +2035,7 @@ private func __nsThunk134(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7CounterC5valueSivp -private func __nsThunk135(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk142(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Counter else { return rt.throwTypeError("receiver must be SwiftDemo.Counter") } let completion = rt.beginAsync() @@ -1963,7 +2048,7 @@ private func __nsThunk135(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7CounterC9incrementSiyF -private func __nsThunk136(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk143(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Counter else { return rt.throwTypeError("receiver must be SwiftDemo.Counter") } let completion = rt.beginAsync() @@ -1976,31 +2061,31 @@ private func __nsThunk136(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7CounterCACycfc -private func __nsThunk137(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk144(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Counter = SwiftDemo.Counter() - rt.returnObject(result, __nsTypeIndex(result, 25)) + rt.returnObject(result, __nsTypeIndex(result, 26)) } // s:9SwiftDemo7FormulaO5valueSdvp -private func __nsThunk138(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk145(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsReadCase26(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Formula") } + guard let receiver = __nsReadCase27(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Formula") } let result: Double = receiver.`value` rt.returnDouble(Double(result)) } // s:9SwiftDemo7GreeterP5greet4nameS2S_tF -private func __nsThunk139(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk146(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsProtocol27(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeter") } + guard let receiver = __nsProtocol28(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeter") } let a0 = rt.slots.string(1) let result: String = receiver.`greet`(name: a0) rt.returnString(result) } // s:9SwiftDemo7PaletteC11strokeLaterSiyYaF -private func __nsThunk140(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk147(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Palette else { return rt.throwTypeError("receiver must be SwiftDemo.Palette") } let completion = rt.beginAsync() @@ -2013,7 +2098,7 @@ private func __nsThunk140(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PaletteC6strokeSiyF -private func __nsThunk141(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk148(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Palette else { return rt.throwTypeError("receiver must be SwiftDemo.Palette") } guard Thread.isMainThread else { return rt.throwMessage("stroke() is isolated to the main actor; call it on the main thread") } @@ -2024,7 +2109,7 @@ private func __nsThunk141(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PaletteC7strokesSivp -private func __nsThunk142(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk149(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Palette else { return rt.throwTypeError("receiver must be SwiftDemo.Palette") } guard Thread.isMainThread else { return rt.throwMessage("strokes is isolated to the main actor; call it on the main thread") } @@ -2035,17 +2120,17 @@ private func __nsThunk142(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PaletteCACycfc -private func __nsThunk143(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk150(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard Thread.isMainThread else { return rt.throwMessage("init() is isolated to the main actor; call it on the main thread") } MainActor.assumeIsolated { let result: SwiftDemo.Palette = SwiftDemo.Palette() - rt.returnObject(result, __nsTypeIndex(result, 28)) + rt.returnObject(result, __nsTypeIndex(result, 29)) } } // s:9SwiftDemo7PolygonC11vertexCountSivp -private func __nsThunk144(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk151(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let result: Int = receiver.`vertexCount` @@ -2053,35 +2138,35 @@ private func __nsThunk144(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC4makeACyFZ -private func __nsThunk145(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk152(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Polygon = SwiftDemo.Polygon.`make`() - rt.returnObject(result, __nsTypeIndex(result, 30)) + rt.returnObject(result, __nsTypeIndex(result, 31)) } // s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc -private func __nsThunk146(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk153(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let a1 = Int(truncatingIfNeeded: rt.slots.int64(1)) let result: SwiftDemo.Polygon = SwiftDemo.Polygon(name: a0, vertexCount: a1) - rt.returnObject(result, __nsTypeIndex(result, 30)) + rt.returnObject(result, __nsTypeIndex(result, 31)) } // s:9SwiftDemo7PolygonC4nameACSgSS_tcfc -private func __nsThunk147(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk154(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Polygon? = SwiftDemo.Polygon(name: a0) if let result { - rt.returnObject(result, __nsTypeIndex(result, 30)) + rt.returnObject(result, __nsTypeIndex(result, 31)) } else { rt.returnNull() } } // s:9SwiftDemo7PolygonC4nameSSvp -private func __nsThunk148(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk155(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let result: String = receiver.`name` @@ -2089,19 +2174,19 @@ private func __nsThunk148(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc -private func __nsThunk149(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk156(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Polygon.Style? = SwiftDemo.Polygon.Style(rawValue: a0) if let result { - rt.returnString(__nsEnumName31(result)) + rt.returnString(__nsEnumName32(result)) } else { rt.returnNull() } } // s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF -private func __nsThunk150(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk157(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let a0 = rt.slots.double(1) @@ -2111,7 +2196,7 @@ private func __nsThunk150(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC5scale2byySd_tF -private func __nsThunk151(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk158(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let a0 = rt.slots.double(1) @@ -2120,7 +2205,7 @@ private func __nsThunk151(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC5scale2byySi_tF -private func __nsThunk152(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk159(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let a0 = Int(truncatingIfNeeded: rt.slots.int64(1)) @@ -2129,30 +2214,30 @@ private func __nsThunk152(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC5styleAC5StyleOvp -private func __nsThunk153(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk160(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let result: SwiftDemo.Polygon.Style = receiver.`style` - rt.returnString(__nsEnumName31(result)) + rt.returnString(__nsEnumName32(result)) } // s:9SwiftDemo7PolygonC6sharedACvpZ -private func __nsThunk154(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk161(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Polygon = SwiftDemo.Polygon.`shared` - rt.returnObject(result, __nsTypeIndex(result, 30)) + rt.returnObject(result, __nsTypeIndex(result, 31)) } // s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc -private func __nsThunk155(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk162(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let result: SwiftDemo.Polygon.Metrics = SwiftDemo.Polygon.Metrics(perimeter: a0) - rt.returnObject(__NSBox(result), 32) + rt.returnObject(__NSBox(result), 33) } // s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp -private func __nsThunk156(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk163(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon.Metrics") } let result: Double = box.value.`perimeter` @@ -2160,7 +2245,7 @@ private func __nsThunk156(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp (setter) -private func __nsThunk157(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk164(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let box = rt.object(0) as? __NSBox else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon.Metrics") } let newValue = rt.slots.double(1) @@ -2169,16 +2254,16 @@ private func __nsThunk157(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF -private func __nsThunk158(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk165(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Polygon else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon") } let a0 = rt.slots.double(1) let result: SwiftDemo.Polygon.Metrics = receiver.`metrics`(side: a0) - rt.returnObject(__NSBox(result), 32) + rt.returnObject(__NSBox(result), 33) } // s:9SwiftDemo7PolygonC8describeySSACSgFZ -private func __nsThunk159(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk166(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) var a0: SwiftDemo.Polygon? = nil if !rt.slots.isNull(0) { @@ -2190,15 +2275,15 @@ private func __nsThunk159(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7TrackerC2idACSi_tcfc -private func __nsThunk160(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk167(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: SwiftDemo.Tracker = SwiftDemo.Tracker(id: a0) - rt.returnObject(result, __nsTypeIndex(result, 33)) + rt.returnObject(result, __nsTypeIndex(result, 34)) } // s:9SwiftDemo7TrackerC2idSivp -private func __nsThunk161(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk168(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Tracker else { return rt.throwTypeError("receiver must be SwiftDemo.Tracker") } let result: Int = receiver.`id` @@ -2206,22 +2291,22 @@ private func __nsThunk161(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7TrackerC4sameACyF -private func __nsThunk162(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk169(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Tracker else { return rt.throwTypeError("receiver must be SwiftDemo.Tracker") } let result: SwiftDemo.Tracker = receiver.`same`() - rt.returnObject(result, __nsTypeIndex(result, 33)) + rt.returnObject(result, __nsTypeIndex(result, 34)) } // s:9SwiftDemo7TrackerC9liveCountSivpZ -private func __nsThunk163(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk170(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: Int = SwiftDemo.Tracker.`liveCount` rt.returnInt64(Int64(result)) } // s:9SwiftDemo7explainySSAA10ShapeErrorOF -private func __nsThunk164(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk171(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadCase9(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.ShapeError") } let result: String = SwiftDemo.`explain`(a0) @@ -2229,7 +2314,7 @@ private func __nsThunk164(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7lengthsySDySSSiGSDyS2SGF -private func __nsThunk165(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk172(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadMap(rt.slots, 0, { (s: __NSSlots, j: Int) -> String? in s.string(j) }) else { return rt.throwTypeError("argument 1 must be an object whose values are String") } let result: [String: Int] = SwiftDemo.`lengths`(a0) @@ -2237,16 +2322,16 @@ private func __nsThunk165(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7measure_2byAA11MeasurementOSd_SdSgtF -private func __nsThunk166(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk173(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.double(0) let a1 = rt.slots.isNull(1) ? nil : rt.slots.double(1) let result: SwiftDemo.Measurement = SwiftDemo.`measure`(a0, by: a1) - __nsReportCase10(rt, result) + __nsReportCase11(rt, result) } // s:9SwiftDemo7nextDay5after10Foundation4DateVAF_tF -private func __nsThunk167(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk174(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Date(timeIntervalSince1970: rt.slots.double(0) / 1000) let result: Date = SwiftDemo.`nextDay`(after: a0) @@ -2254,7 +2339,7 @@ private func __nsThunk167(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7resolve_7against10Foundation3URLVSS_AFtF -private func __nsThunk168(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk175(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) guard let a1 = URL(string: rt.slots.string(1)) else { return rt.throwTypeError("argument 2 must be a valid URL") } @@ -2263,9 +2348,9 @@ private func __nsThunk168(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo7topRankySSAA12RankedScorer_pKF -private func __nsThunk169(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk176(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsProtocol12(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.RankedScorer (a Swift value or JS implementation)") } + guard let a0 = __nsProtocol13(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.RankedScorer (a Swift value or JS implementation)") } do { let result: String = try SwiftDemo.`topRank`(a0) rt.returnString(result) @@ -2275,58 +2360,58 @@ private func __nsThunk169(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8GreetingP11punctuationSSvp -private func __nsThunk170(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk177(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } + guard let receiver = __nsProtocol35(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } let result: String = receiver.`punctuation` rt.returnString(result) } // s:9SwiftDemo8GreetingP11punctuationSSvp (setter) -private func __nsThunk171(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk178(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } + guard let receiver = __nsProtocol35(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } let newValue = rt.slots.string(1) receiver.`punctuation` = newValue rt.returnVoid() } // s:9SwiftDemo8GreetingP4nameSSvp -private func __nsThunk172(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk179(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } + guard let receiver = __nsProtocol35(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } let result: String = receiver.`name` rt.returnString(result) } // s:9SwiftDemo8GreetingP5greetyS2SF -private func __nsThunk173(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk180(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } + guard let receiver = __nsProtocol35(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } let a0 = rt.slots.string(1) let result: String = receiver.`greet`(a0) rt.returnString(result) } // s:9SwiftDemo8GreetingP5resetyyF -private func __nsThunk174(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk181(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } + guard let receiver = __nsProtocol35(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } let _: Void = receiver.`reset`() rt.returnVoid() } // s:9SwiftDemo8GreetingPAAE5shoutyS2SF -private func __nsThunk175(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk182(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } + guard let receiver = __nsProtocol35(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.Greeting") } let a0 = rt.slots.string(1) let result: String = receiver.`shout`(a0) rt.returnString(result) } // s:9SwiftDemo8GreetingPAAE5shoutyS2SF::SYNTHESIZED::s:9SwiftDemo14FormalGreetingC -private func __nsThunk176(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk183(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.FormalGreeting else { return rt.throwTypeError("receiver must be SwiftDemo.FormalGreeting") } let a0 = rt.slots.string(1) @@ -2335,7 +2420,7 @@ private func __nsThunk176(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC12publishLateryySSF -private func __nsThunk177(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk184(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let a0 = rt.slots.string(1) @@ -2344,7 +2429,7 @@ private func __nsThunk177(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC5clearyyF -private func __nsThunk178(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk185(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let _: Void = receiver.`clear`() @@ -2352,7 +2437,7 @@ private func __nsThunk178(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC5countSivp -private func __nsThunk179(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk186(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let result: Int = receiver.`count` @@ -2360,7 +2445,7 @@ private func __nsThunk179(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC7publishyySSF -private func __nsThunk180(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk187(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let a0 = rt.slots.string(1) @@ -2369,7 +2454,7 @@ private func __nsThunk180(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierC9subscribeyyySSYbcF -private func __nsThunk181(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk188(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = rt.object(0) as? SwiftDemo.Notifier else { return rt.throwTypeError("receiver must be SwiftDemo.Notifier") } let a0 = { () -> @Sendable (String) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(1)); return { (p0: String) in callback.invoke { r in r.returnString(p0) } } }() @@ -2378,22 +2463,22 @@ private func __nsThunk181(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8NotifierCACycfc -private func __nsThunk182(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk189(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let result: SwiftDemo.Notifier = SwiftDemo.Notifier() - rt.returnObject(result, __nsTypeIndex(result, 35)) + rt.returnObject(result, __nsTypeIndex(result, 36)) } // s:9SwiftDemo8centroid2ofAA5PointVSayAEG_tF -private func __nsThunk183(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk190(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> SwiftDemo.Point? in (s.object(j) as? __NSBox)?.value }) else { return rt.throwTypeError("argument 1 must be an array of SwiftDemo.Point") } let result: SwiftDemo.Point = SwiftDemo.`centroid`(of: a0) - rt.returnObject(__NSBox(result), 19) + rt.returnObject(__NSBox(result), 20) } // s:9SwiftDemo8checksumySi10Foundation4DataVF -private func __nsThunk184(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk191(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.bytes(0) let result: Int = SwiftDemo.`checksum`(a0) @@ -2401,7 +2486,7 @@ private func __nsThunk184(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8countBoxy0aB3Kit0D0CySiGSiF -private func __nsThunk185(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk192(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let result: SwiftDemoKit.Box = SwiftDemo.`countBox`(a0) @@ -2409,7 +2494,7 @@ private func __nsThunk185(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8describeySS0aB3Kit4PairVySiSSGF -private func __nsThunk186(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk193(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = (rt.slots.object(0) as? __NSBox>)?.value else { return rt.throwTypeError("argument 1 must be SwiftDemoKit.Pair") } let result: String = SwiftDemo.`describe`(a0) @@ -2417,7 +2502,7 @@ private func __nsThunk186(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8describeySSSo6UIViewCF -private func __nsThunk187(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk194(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = rt.slots.object(0) as? UIView else { return rt.throwTypeError("argument 1 must be a UIView") } let result: String = SwiftDemo.`describe`(a0) @@ -2425,7 +2510,7 @@ private func __nsThunk187(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8echoInt8ys0D0VADF -private func __nsThunk188(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk195(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int8(truncatingIfNeeded: rt.slots.int64(0)) let result: Int8 = SwiftDemo.`echoInt8`(a0) @@ -2433,7 +2518,7 @@ private func __nsThunk188(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8makeNoteyAA0D0CSSF -private func __nsThunk189(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk196(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let result: SwiftDemo.Note = SwiftDemo.`makeNote`(a0) @@ -2441,7 +2526,7 @@ private func __nsThunk189(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8mirroredySaySaySiGGADF -private func __nsThunk190(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk197(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> [Int]? in __nsReadArray(s, j, { (s: __NSSlots, j: Int) -> Int? in Int(truncatingIfNeeded: s.int64(j)) }) }) else { return rt.throwTypeError("argument 1 must be an array of an array of Int") } let result: [[Int]] = SwiftDemo.`mirrored`(a0) @@ -2449,9 +2534,9 @@ private func __nsThunk190(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8scoreAllySaySiGAA6Scorer_p_ACtKF -private func __nsThunk191(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk198(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsProtocol23(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Scorer (a Swift value or JS implementation)") } + guard let a0 = __nsProtocol24(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Scorer (a Swift value or JS implementation)") } guard let a1 = __nsReadArray(rt.slots, 1, { (s: __NSSlots, j: Int) -> Int? in Int(truncatingIfNeeded: s.int64(j)) }) else { return rt.throwTypeError("argument 2 must be an array of Int") } do { let result: [Int] = try SwiftDemo.`scoreAll`(a0, a1) @@ -2462,23 +2547,23 @@ private func __nsThunk191(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo8simplifyyAA7FormulaOADF -private func __nsThunk192(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk199(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsReadCase26(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Formula") } + guard let a0 = __nsReadCase27(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a case of SwiftDemo.Formula") } let result: SwiftDemo.Formula = SwiftDemo.`simplify`(a0) - __nsReportCase26(rt, result) + __nsReportCase27(rt, result) } // s:9SwiftDemo8trackersySayAA7TrackerCGSaySiGF -private func __nsThunk193(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk200(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let a0 = __nsReadArray(rt.slots, 0, { (s: __NSSlots, j: Int) -> Int? in Int(truncatingIfNeeded: s.int64(j)) }) else { return rt.throwTypeError("argument 1 must be an array of Int") } let result: [SwiftDemo.Tracker] = SwiftDemo.`trackers`(a0) - rt.returnArray(result) { element in rt.returnObject(element, __nsTypeIndex(element, 33)) } + rt.returnArray(result) { element in rt.returnObject(element, __nsTypeIndex(element, 34)) } } // s:9SwiftDemo9countdown4from_ySi_ySi_SbtXEtF -private func __nsThunk194(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk201(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = Int(truncatingIfNeeded: rt.slots.int64(0)) let a1 = { () -> (Int, Bool) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(1)); return { (p0: Int, p1: Bool) in callback.invoke { r in r.returnInt64(Int64(p0)); r.returnBool(p1) } } }() @@ -2487,16 +2572,16 @@ private func __nsThunk194(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo9introduce_2toSSAA8Greeting_p_SStF -private func __nsThunk195(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk202(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let a0 = __nsProtocol34(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Greeting (a Swift value or JS implementation)") } + guard let a0 = __nsProtocol35(rt.slots, 0) else { return rt.throwTypeError("argument 1 must be a SwiftDemo.Greeting (a Swift value or JS implementation)") } let a1 = rt.slots.string(1) let result: String = SwiftDemo.`introduce`(a0, to: a1) rt.returnString(result) } // s:9SwiftDemo9makeLabelySo7UILabelCSSF -private func __nsThunk196(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk203(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) guard Thread.isMainThread else { return rt.throwMessage("makeLabel(_:) is isolated to the main actor; call it on the main thread") } @@ -2507,7 +2592,7 @@ private func __nsThunk196(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo9makeScorey0aB3Kit4PairVySSSiGSS_SitF -private func __nsThunk197(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk204(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let a1 = Int(truncatingIfNeeded: rt.slots.int64(1)) @@ -2516,7 +2601,7 @@ private func __nsThunk197(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo9noteLateryAA4NoteCSSYaF -private func __nsThunk198(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk205(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) let a0 = rt.slots.string(0) let completion = rt.beginAsync() @@ -2529,39 +2614,39 @@ private func __nsThunk198(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPoin } // s:9SwiftDemo9onMeasureyyyAA11MeasurementOXEF -private func __nsThunk199(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk206(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - let a0 = { () -> (SwiftDemo.Measurement) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(0)); return { (p0: SwiftDemo.Measurement) in callback.invoke { r in __nsReportCase10(r, p0) } } }() + let a0 = { () -> (SwiftDemo.Measurement) -> Void in let callback = __NSCallback(api: rt.api, handle: rt.slots.callback(0)); return { (p0: SwiftDemo.Measurement) in callback.invoke { r in __nsReportCase11(r, p0) } } }() let _: Void = SwiftDemo.`onMeasure`(a0) rt.returnVoid() } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO -private func __nsThunk200(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk207(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsEnum13(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Precipitation") } + guard let receiver = __nsEnum14(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Precipitation") } let result: Int = receiver.`hashValue` rt.returnInt64(Int64(result)) } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO -private func __nsThunk201(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk208(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsEnum21(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Flavor") } + guard let receiver = __nsEnum22(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Flavor") } let result: Int = receiver.`hashValue` rt.returnInt64(Int64(result)) } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO -private func __nsThunk202(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk209(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) - guard let receiver = __nsEnum31(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon.Style") } + guard let receiver = __nsEnum32(rt.string(0)) else { return rt.throwTypeError("receiver must be SwiftDemo.Polygon.Style") } let result: Int = receiver.`hashValue` rt.returnInt64(Int64(result)) } // s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO -private func __nsThunk203(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { +private func __nsThunk210(_ call: UnsafeMutableRawPointer, _ args: UnsafeRawPointer?, _ count: Int) { let rt = __NSCall(call: call, args: args) guard let receiver = __nsReadCase9(rt.slots, 0) else { return rt.throwTypeError("receiver must be SwiftDemo.ShapeError") } let result: String = receiver.`localizedDescription` @@ -2574,10 +2659,12 @@ private func __nsRegister(_ registrar: UnsafeMutableRawPointer) { let registerType = api.load(fromByteOffset: 88, as: (@convention(c) (UnsafeMutableRawPointer, UInt32, UInt32, UnsafePointer, UnsafePointer, UnsafePointer, Int32) -> Void).self) let registerMember = api.load(fromByteOffset: 96, as: (@convention(c) (UnsafeMutableRawPointer, Int32, UInt32, UInt32, UnsafePointer, UnsafePointer, UnsafePointer, UnsafePointer, __NSThunk?, __NSThunk?) -> Void).self) let registerUnitModule = api.load(fromByteOffset: 336, as: (@convention(c) (UnsafeMutableRawPointer, UnsafePointer) -> Void).self) + let registerTracker = api.load(fromByteOffset: 384, as: (@convention(c) (UnsafeMutableRawPointer, __NSTracker) -> Void).self) - registerModule(registrar, 9, "SwiftDemo", "982ef7366301d08d", __nsRelease) + registerModule(registrar, 10, "SwiftDemo", "86958f2177e4dc81", __nsRelease) registerUnitModule(registrar, "SwiftDemo") registerUnitModule(registrar, "SwiftDemoKit") + registerTracker(registrar, __nsTrack) registerType(registrar, 0, 0, "SwiftDemoKit", "Box", "SwiftDemoKit.Box", -1) registerType(registrar, 1, 0, "SwiftDemoKit", "Box", "SwiftDemoKit.Box", -1) registerType(registrar, 2, 3, "SwiftDemoKit", "Coin", "SwiftDemoKit.Coin", -1) @@ -2588,32 +2675,33 @@ private func __nsRegister(_ registrar: UnsafeMutableRawPointer) { registerType(registrar, 7, 4, "SwiftDemoKit", "Outcome", "SwiftDemoKit.Outcome", -1) registerType(registrar, 8, 0, "SwiftDemo", "Demo", "SwiftDemo.Demo", -1) registerType(registrar, 9, 4, "SwiftDemo", "ShapeError", "SwiftDemo.ShapeError", -1) - registerType(registrar, 10, 4, "SwiftDemo", "Measurement", "SwiftDemo.Measurement", -1) - registerType(registrar, 11, 2, "SwiftDemo", "Measurement.Unit", "SwiftDemo.Measurement.Unit", -1) - registerType(registrar, 12, 5, "SwiftDemo", "RankedScorer", "SwiftDemo.RankedScorer", 23) - registerType(registrar, 13, 3, "SwiftDemo", "Precipitation", "SwiftDemo.Precipitation", -1) - registerType(registrar, 14, 2, "SwiftDemo", "DoublingScorer", "SwiftDemo.DoublingScorer", -1) - registerType(registrar, 15, 0, "SwiftDemo", "FormalGreeting", "SwiftDemo.FormalGreeting", -1) - registerType(registrar, 16, 0, "SwiftDemo", "GreetingHolder", "SwiftDemo.GreetingHolder", -1) - registerType(registrar, 17, 2, "SwiftDemo", "Job.Ticket", "SwiftDemo.Job.Ticket", -1) - registerType(registrar, 18, 2, "SwiftDemo", "Ring", "SwiftDemo.Ring", -1) - registerType(registrar, 19, 2, "SwiftDemo", "Point", "SwiftDemo.Point", -1) - registerType(registrar, 20, 0, "SwiftDemo", "Canvas", "SwiftDemo.Canvas", -1) - registerType(registrar, 21, 3, "SwiftDemo", "Flavor", "SwiftDemo.Flavor", -1) - registerType(registrar, 22, 0, "SwiftDemo", "Loader", "SwiftDemo.Loader", -1) - registerType(registrar, 23, 5, "SwiftDemo", "Scorer", "SwiftDemo.Scorer", -1) - registerType(registrar, 24, 0, "SwiftDemo", "Square", "SwiftDemo.Square", 30) - registerType(registrar, 25, 1, "SwiftDemo", "Counter", "SwiftDemo.Counter", -1) - registerType(registrar, 26, 4, "SwiftDemo", "Formula", "SwiftDemo.Formula", -1) - registerType(registrar, 27, 5, "SwiftDemo", "Greeter", "SwiftDemo.Greeter", -1) - registerType(registrar, 28, 0, "SwiftDemo", "Palette", "SwiftDemo.Palette", -1) - registerType(registrar, 29, 4, "SwiftDemo", "Payload", "SwiftDemo.Payload", -1) - registerType(registrar, 30, 0, "SwiftDemo", "Polygon", "SwiftDemo.Polygon", -1) - registerType(registrar, 31, 3, "SwiftDemo", "Polygon.Style", "SwiftDemo.Polygon.Style", -1) - registerType(registrar, 32, 2, "SwiftDemo", "Polygon.Metrics", "SwiftDemo.Polygon.Metrics", -1) - registerType(registrar, 33, 0, "SwiftDemo", "Tracker", "SwiftDemo.Tracker", -1) - registerType(registrar, 34, 5, "SwiftDemo", "Greeting", "SwiftDemo.Greeting", -1) - registerType(registrar, 35, 0, "SwiftDemo", "Notifier", "SwiftDemo.Notifier", -1) + registerType(registrar, 10, 0, "SwiftDemo", "Thermostat", "SwiftDemo.Thermostat", -1) + registerType(registrar, 11, 4, "SwiftDemo", "Measurement", "SwiftDemo.Measurement", -1) + registerType(registrar, 12, 2, "SwiftDemo", "Measurement.Unit", "SwiftDemo.Measurement.Unit", -1) + registerType(registrar, 13, 5, "SwiftDemo", "RankedScorer", "SwiftDemo.RankedScorer", 24) + registerType(registrar, 14, 3, "SwiftDemo", "Precipitation", "SwiftDemo.Precipitation", -1) + registerType(registrar, 15, 2, "SwiftDemo", "DoublingScorer", "SwiftDemo.DoublingScorer", -1) + registerType(registrar, 16, 0, "SwiftDemo", "FormalGreeting", "SwiftDemo.FormalGreeting", -1) + registerType(registrar, 17, 0, "SwiftDemo", "GreetingHolder", "SwiftDemo.GreetingHolder", -1) + registerType(registrar, 18, 2, "SwiftDemo", "Job.Ticket", "SwiftDemo.Job.Ticket", -1) + registerType(registrar, 19, 2, "SwiftDemo", "Ring", "SwiftDemo.Ring", -1) + registerType(registrar, 20, 2, "SwiftDemo", "Point", "SwiftDemo.Point", -1) + registerType(registrar, 21, 0, "SwiftDemo", "Canvas", "SwiftDemo.Canvas", -1) + registerType(registrar, 22, 3, "SwiftDemo", "Flavor", "SwiftDemo.Flavor", -1) + registerType(registrar, 23, 0, "SwiftDemo", "Loader", "SwiftDemo.Loader", -1) + registerType(registrar, 24, 5, "SwiftDemo", "Scorer", "SwiftDemo.Scorer", -1) + registerType(registrar, 25, 0, "SwiftDemo", "Square", "SwiftDemo.Square", 31) + registerType(registrar, 26, 1, "SwiftDemo", "Counter", "SwiftDemo.Counter", -1) + registerType(registrar, 27, 4, "SwiftDemo", "Formula", "SwiftDemo.Formula", -1) + registerType(registrar, 28, 5, "SwiftDemo", "Greeter", "SwiftDemo.Greeter", -1) + registerType(registrar, 29, 0, "SwiftDemo", "Palette", "SwiftDemo.Palette", -1) + registerType(registrar, 30, 4, "SwiftDemo", "Payload", "SwiftDemo.Payload", -1) + registerType(registrar, 31, 0, "SwiftDemo", "Polygon", "SwiftDemo.Polygon", -1) + registerType(registrar, 32, 3, "SwiftDemo", "Polygon.Style", "SwiftDemo.Polygon.Style", -1) + registerType(registrar, 33, 2, "SwiftDemo", "Polygon.Metrics", "SwiftDemo.Polygon.Metrics", -1) + registerType(registrar, 34, 0, "SwiftDemo", "Tracker", "SwiftDemo.Tracker", -1) + registerType(registrar, 35, 5, "SwiftDemo", "Greeting", "SwiftDemo.Greeting", -1) + registerType(registrar, 36, 0, "SwiftDemo", "Notifier", "SwiftDemo.Notifier", -1) registerMember(registrar, 0, 3, 2, "SwiftDemoKit", "value", "value", ">o5", __nsThunk0, __nsThunk1) registerMember(registrar, 1, 3, 2, "SwiftDemoKit", "value", "value", ">i64", __nsThunk2, __nsThunk3) registerMember(registrar, 0, 1, 0, "SwiftDemoKit", "replaced", "replaced(with:)", "o5>o0", __nsThunk4, nil) @@ -2651,178 +2739,183 @@ private func __nsRegister(_ registrar: UnsafeMutableRawPointer) { registerMember(registrar, 9, 7, 0, "SwiftDemo", "invalidSide", "invalidSide(_:)", "f64>t9", nil, nil) registerMember(registrar, 9, 7, 0, "SwiftDemo", "tooManySides", "tooManySides(count:limit:)", "i64,i64>t9", nil, nil) registerMember(registrar, 9, 7, 0, "SwiftDemo", "unknown", "unknown", ">t9", nil, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "allFlavors", "allFlavors()", ">[e21]", __nsThunk38, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "echoUInt64", "echoUInt64(_:)", "u64>u64", __nsThunk39, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "greetLater", "greetLater(_:completion:)", "s?,(s?)>v", __nsThunk40, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "largestInt", "largestInt()", ">i64", __nsThunk41, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeScorer", "makeScorer()", ">p23", __nsThunk42, nil) - registerMember(registrar, -1, 5, 8, "SwiftDemo", "namesLater", "namesLater(_:)", "i64>[s]", __nsThunk43, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "wordCounts", "wordCounts(_:)", "[s]>{i64}", __nsThunk44, nil) - registerMember(registrar, 11, 0, 0, "SwiftDemo", "constructor", "init(symbol:)", "s>o11", __nsThunk45, nil) - registerMember(registrar, 11, 3, 2, "SwiftDemo", "symbol", "symbol", ">s", __nsThunk46, __nsThunk47) - registerMember(registrar, 10, 7, 0, "SwiftDemo", "area", "area(width:height:)", "f64,f64>t10", nil, nil) - registerMember(registrar, 10, 7, 0, "SwiftDemo", "none", "none", ">t10", nil, nil) - registerMember(registrar, 10, 3, 0, "SwiftDemo", "isNone", "isNone", ">b", __nsThunk48, nil) - registerMember(registrar, 10, 7, 0, "SwiftDemo", "length", "length(_:)", "f64>t10", nil, nil) - registerMember(registrar, -1, 5, 1, "SwiftDemo", "checkedSide", "checkedSide(_:)", "f64>f64", __nsThunk49, nil) - registerMember(registrar, -1, 5, 9, "SwiftDemo", "delayedEcho", "delayedEcho(_:after:)", "s,f64>s", __nsThunk50, nil) - registerMember(registrar, 12, 3, 32, "SwiftDemo", "rank", "rank", ">i64?", __nsThunk51, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "firstSubview", "firstSubview(of:)", "@UIView>@UIView?", __nsThunk52, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeGreeting", "makeGreeting(_:)", "s>p34", __nsThunk53, nil) - registerMember(registrar, -1, 5, 8, "SwiftDemo", "measureLater", "measureLater(_:)", "f64>t10", __nsThunk54, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "measurements", "measurements()", ">[t10]", __nsThunk55, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "swapTrackers", "swapTrackers(_:_:)", "&o33,&o33>v", __nsThunk56, nil) - registerMember(registrar, 13, 7, 0, "SwiftDemo", "none", "none", ">e13", nil, nil) - registerMember(registrar, 13, 7, 0, "SwiftDemo", "rain", "rain", ">e13", nil, nil) - registerMember(registrar, 13, 7, 0, "SwiftDemo", "snow", "snow", ">e13", nil, nil) - registerMember(registrar, 13, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "s>e13?", __nsThunk57, nil) - registerMember(registrar, -1, 6, 0, "SwiftDemo", "defaultFlavor", "defaultFlavor", ">e21", __nsThunk58, nil) - registerMember(registrar, -1, 6, 2, "SwiftDemo", "globalCounter", "globalCounter", ">i64", __nsThunk59, __nsThunk60) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "starterWallet", "starterWallet(for:)", "s>o6", __nsThunk61, nil) - registerMember(registrar, 14, 1, 0, "SwiftDemo", "score", "score(_:)", "i64>i64", __nsThunk62, nil) - registerMember(registrar, 14, 0, 0, "SwiftDemo", "constructor", "init()", ">o14", __nsThunk63, nil) - registerMember(registrar, 15, 3, 2, "SwiftDemo", "punctuation", "punctuation", ">s", __nsThunk64, __nsThunk65) - registerMember(registrar, 15, 0, 0, "SwiftDemo", "constructor", "init(name:)", "s>o15", __nsThunk66, nil) - registerMember(registrar, 15, 3, 0, "SwiftDemo", "name", "name", ">s", __nsThunk67, nil) - registerMember(registrar, 15, 1, 0, "SwiftDemo", "greet", "greet(_:)", "s>s", __nsThunk68, nil) - registerMember(registrar, 15, 1, 0, "SwiftDemo", "reset", "reset()", ">v", __nsThunk69, nil) - registerMember(registrar, 16, 1, 0, "SwiftDemo", "greet", "greet(_:)", "s>s?", __nsThunk70, nil) - registerMember(registrar, 16, 3, 2, "SwiftDemo", "greeting", "greeting", ">p34?", __nsThunk71, __nsThunk72) - registerMember(registrar, 16, 0, 0, "SwiftDemo", "constructor", "init()", ">o16", __nsThunk73, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeDefaultPoint", "makeDefaultPoint()", ">o19", __nsThunk74, nil) - registerMember(registrar, -1, 5, 8, "SwiftDemo", "makeTrackerLater", "makeTrackerLater(id:)", "i64>o33", __nsThunk75, nil) - registerMember(registrar, -1, 5, 8, "SwiftDemo", "greetInBackground", "greetInBackground(_:)", "p34>s", __nsThunk76, nil) - registerMember(registrar, 17, 0, 0, "SwiftDemo", "constructor", "init(id:)", "i64>o17", __nsThunk77, nil) - registerMember(registrar, 17, 3, 2, "SwiftDemo", "id", "id", ">i64", __nsThunk78, __nsThunk79) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "sum", "sum(of:)", "[o5]>o5", __nsThunk80, nil) - registerMember(registrar, 18, 0, 0, "SwiftDemo", "constructor", "init(inner:outer:)", "o19,o19>o18", __nsThunk81, nil) - registerMember(registrar, 18, 3, 2, "SwiftDemo", "inner", "inner", ">o19", __nsThunk82, __nsThunk83) - registerMember(registrar, 18, 3, 2, "SwiftDemo", "outer", "outer", ">o19", __nsThunk84, __nsThunk85) - registerMember(registrar, 18, 1, 0, "SwiftDemo", "expand", "expand(by:)", "f64>v", __nsThunk86, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "area", "area(of:)", "t10>f64", __nsThunk87, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "bump", "bump(_:)", "&i64>v", __nsThunk88, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "echo", "echo(_:)", "t29>t29", __nsThunk89, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "flip", "flip(_:)", "e2>e2", __nsThunk90, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "host", "host(of:)", "U>s?", __nsThunk91, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "ramp", "ramp(_:)", "i64>B", __nsThunk92, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "same", "same(_:)", "p34>p34", __nsThunk93, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "tags", "tags(_:)", "[@UIView]>[i64]", __nsThunk94, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "text", "text(of:)", "@SwiftDemo.Note>s", __nsThunk95, nil) - registerMember(registrar, 19, 3, 0, "SwiftDemo", "description", "description", ">s", __nsThunk96, nil) - registerMember(registrar, 19, 0, 0, "SwiftDemo", "constructor", "init(x:y:)", "f64,f64>o19", __nsThunk97, nil) - registerMember(registrar, 19, 3, 2, "SwiftDemo", "x", "x", ">f64", __nsThunk98, __nsThunk99) - registerMember(registrar, 19, 3, 2, "SwiftDemo", "y", "y", ">f64", __nsThunk100, __nsThunk101) - registerMember(registrar, 19, 3, 0, "SwiftDemo", "length", "length", ">f64", __nsThunk102, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "boxed", "boxed(_:)", "o5>o0", __nsThunk103, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "clear", "clear(_:)", "&s?>v", __nsThunk104, nil) - registerMember(registrar, -1, 5, 1, "SwiftDemo", "halve", "halve(_:)", "&i64>v", __nsThunk105, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "names", "names(_:)", "i64>[s]", __nsThunk106, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "shout", "shout(_:)", "s?>s?", __nsThunk107, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "total", "total(_:)", "[f64]>f64", __nsThunk108, nil) - registerMember(registrar, 20, 0, 16, "SwiftDemo", "constructor", "init()", ">o20", __nsThunk109, nil) - registerMember(registrar, 21, 3, 0, "SwiftDemo", "description", "description", ">s", __nsThunk110, nil) - registerMember(registrar, 21, 7, 0, "SwiftDemo", "vanilla", "vanilla", ">e21", nil, nil) - registerMember(registrar, 21, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "i64>e21?", __nsThunk111, nil) - registerMember(registrar, 21, 7, 0, "SwiftDemo", "chocolate", "chocolate", ">e21", nil, nil) - registerMember(registrar, 22, 1, 0, "SwiftDemo", "modernOnly", "modernOnly()", ">v", __nsThunk112, nil) - registerMember(registrar, 22, 1, 0, "SwiftDemo", "legacyFetch", "legacyFetch()", ">v", __nsThunk113, nil) - registerMember(registrar, 22, 1, 0, "SwiftDemo", "each", "each(_:)", "(i64)>v", __nsThunk114, nil) - registerMember(registrar, 22, 1, 1, "SwiftDemo", "load", "load(path:)", "s>B", __nsThunk115, nil) - registerMember(registrar, 22, 1, 8, "SwiftDemo", "wait", "wait(seconds:)", "f64>v", __nsThunk116, nil) - registerMember(registrar, 22, 1, 9, "SwiftDemo", "fetch", "fetch(url:)", "U>s", __nsThunk117, nil) - registerMember(registrar, 22, 1, 0, "SwiftDemo", "lookup", "lookup(table:key:)", "{i64},s>i64?", __nsThunk118, nil) - registerMember(registrar, 22, 1, 0, "SwiftDemo", "update", "update(_:)", "&o19>v", __nsThunk119, nil) - registerMember(registrar, 22, 1, 0, "SwiftDemo", "oldFetch", "oldFetch()", ">v", __nsThunk120, nil) - registerMember(registrar, 22, 0, 0, "SwiftDemo", "constructor", "init()", ">o22", __nsThunk121, nil) - registerMember(registrar, 23, 1, 33, "SwiftDemo", "score", "score(_:)", "i64>i64", __nsThunk122, nil) - registerMember(registrar, 24, 3, 0, "SwiftDemo", "area", "area", ">f64", __nsThunk123, nil) - registerMember(registrar, 24, 0, 0, "SwiftDemo", "constructor", "init(side:)", "f64>o24", __nsThunk124, nil) - registerMember(registrar, 24, 3, 2, "SwiftDemo", "side", "side", ">f64", __nsThunk125, __nsThunk126) - registerMember(registrar, 24, 1, 0, "SwiftDemo", "greet", "greet(name:)", "s>s", __nsThunk127, nil) - registerMember(registrar, 24, 1, 0, "SwiftDemo", "scale", "scale(by:)", "f64>v", __nsThunk128, nil) - registerMember(registrar, 24, 4, 0, "SwiftDemo", "sides", "sides", ">i64", __nsThunk129, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "append", "append(_:to:)", "s,&[s]>v", __nsThunk130, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "excite", "excite(_:)", "p34>v", __nsThunk131, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "settle", "settle(_:)", "i64>t7", __nsThunk132, nil) - registerMember(registrar, 25, 3, 8, "SwiftDemo", "step", "step", ">i64", __nsThunk133, nil) - registerMember(registrar, 25, 1, 0, "SwiftDemo", "label", "label()", ">s", __nsThunk134, nil) - registerMember(registrar, 25, 3, 8, "SwiftDemo", "value", "value", ">i64", __nsThunk135, nil) - registerMember(registrar, 25, 1, 8, "SwiftDemo", "increment", "increment()", ">i64", __nsThunk136, nil) - registerMember(registrar, 25, 0, 0, "SwiftDemo", "constructor", "init()", ">o25", __nsThunk137, nil) - registerMember(registrar, 26, 7, 0, "SwiftDemo", "sum", "sum(_:_:)", "t26,t26>t26", nil, nil) - registerMember(registrar, 26, 3, 0, "SwiftDemo", "value", "value", ">f64", __nsThunk138, nil) - registerMember(registrar, 26, 7, 0, "SwiftDemo", "negate", "negate(_:)", "t26>t26", nil, nil) - registerMember(registrar, 26, 7, 0, "SwiftDemo", "number", "number(_:)", "f64>t26", nil, nil) - registerMember(registrar, 27, 1, 32, "SwiftDemo", "greet", "greet(name:)", "s>s", __nsThunk139, nil) - registerMember(registrar, 28, 1, 8, "SwiftDemo", "strokeLater", "strokeLater()", ">i64", __nsThunk140, nil) - registerMember(registrar, 28, 1, 16, "SwiftDemo", "stroke", "stroke()", ">i64", __nsThunk141, nil) - registerMember(registrar, 28, 3, 16, "SwiftDemo", "strokes", "strokes", ">i64", __nsThunk142, nil) - registerMember(registrar, 28, 0, 16, "SwiftDemo", "constructor", "init()", ">o28", __nsThunk143, nil) - registerMember(registrar, 29, 7, 0, "SwiftDemo", "maybe", "maybe(_:)", "i64?>t29", nil, nil) - registerMember(registrar, 29, 7, 0, "SwiftDemo", "names", "names(_:)", "[s]>t29", nil, nil) - registerMember(registrar, 29, 7, 0, "SwiftDemo", "point", "point(_:)", "o19>t29", nil, nil) - registerMember(registrar, 29, 7, 0, "SwiftDemo", "flavor", "flavor(_:)", "e21>t29", nil, nil) - registerMember(registrar, 29, 7, 0, "SwiftDemo", "tracker", "tracker(_:)", "o33>t29", nil, nil) - registerMember(registrar, 30, 3, 0, "SwiftDemo", "vertexCount", "vertexCount", ">i64", __nsThunk144, nil) - registerMember(registrar, 30, 2, 0, "SwiftDemo", "make", "make()", ">o30", __nsThunk145, nil) - registerMember(registrar, 30, 0, 0, "SwiftDemo", "constructor", "init(name:vertexCount:)", "s,i64>o30", __nsThunk146, nil) - registerMember(registrar, 30, 0, 0, "SwiftDemo", "constructor", "init(name:)", "s>o30?", __nsThunk147, nil) - registerMember(registrar, 30, 3, 0, "SwiftDemo", "name", "name", ">s", __nsThunk148, nil) - registerMember(registrar, 31, 7, 0, "SwiftDemo", "solid", "solid", ">e31", nil, nil) - registerMember(registrar, 31, 7, 0, "SwiftDemo", "dashed", "dashed", ">e31", nil, nil) - registerMember(registrar, 31, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "s>e31?", __nsThunk149, nil) - registerMember(registrar, 30, 1, 0, "SwiftDemo", "scale", "scale(x:y:)", "f64,f64>v", __nsThunk150, nil) - registerMember(registrar, 30, 1, 4, "SwiftDemo", "scale", "scale(by:)", "f64>v", __nsThunk151, nil) - registerMember(registrar, 30, 1, 4, "SwiftDemo", "scale", "scale(by:)", "i64>v", __nsThunk152, nil) - registerMember(registrar, 30, 3, 0, "SwiftDemo", "style", "style", ">e31", __nsThunk153, nil) - registerMember(registrar, 30, 4, 0, "SwiftDemo", "shared", "shared", ">o30", __nsThunk154, nil) - registerMember(registrar, 32, 0, 0, "SwiftDemo", "constructor", "init(perimeter:)", "f64>o32", __nsThunk155, nil) - registerMember(registrar, 32, 3, 2, "SwiftDemo", "perimeter", "perimeter", ">f64", __nsThunk156, __nsThunk157) - registerMember(registrar, 30, 1, 0, "SwiftDemo", "metrics", "metrics(side:)", "f64>o32", __nsThunk158, nil) - registerMember(registrar, 30, 2, 0, "SwiftDemo", "describe", "describe(_:)", "o30?>s", __nsThunk159, nil) - registerMember(registrar, 33, 0, 0, "SwiftDemo", "constructor", "init(id:)", "i64>o33", __nsThunk160, nil) - registerMember(registrar, 33, 3, 0, "SwiftDemo", "id", "id", ">i64", __nsThunk161, nil) - registerMember(registrar, 33, 1, 0, "SwiftDemo", "same", "same()", ">o33", __nsThunk162, nil) - registerMember(registrar, 33, 4, 0, "SwiftDemo", "liveCount", "liveCount", ">i64", __nsThunk163, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "explain", "explain(_:)", "t9>s", __nsThunk164, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "lengths", "lengths(_:)", "{s}>{i64}", __nsThunk165, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "measure", "measure(_:by:)", "f64,f64?>t10", __nsThunk166, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "nextDay", "nextDay(after:)", "D>D", __nsThunk167, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "resolve", "resolve(_:against:)", "s,U>U", __nsThunk168, nil) - registerMember(registrar, -1, 5, 1, "SwiftDemo", "topRank", "topRank(_:)", "p12>s", __nsThunk169, nil) - registerMember(registrar, 34, 3, 34, "SwiftDemo", "punctuation", "punctuation", ">s", __nsThunk170, __nsThunk171) - registerMember(registrar, 34, 3, 32, "SwiftDemo", "name", "name", ">s", __nsThunk172, nil) - registerMember(registrar, 34, 1, 32, "SwiftDemo", "greet", "greet(_:)", "s>s", __nsThunk173, nil) - registerMember(registrar, 34, 1, 32, "SwiftDemo", "reset", "reset()", ">v", __nsThunk174, nil) - registerMember(registrar, 34, 1, 0, "SwiftDemo", "shout", "shout(_:)", "s>s", __nsThunk175, nil) - registerMember(registrar, 15, 1, 0, "SwiftDemo", "shout", "shout(_:)", "s>s", __nsThunk176, nil) - registerMember(registrar, 35, 1, 0, "SwiftDemo", "publishLater", "publishLater(_:)", "s>v", __nsThunk177, nil) - registerMember(registrar, 35, 1, 0, "SwiftDemo", "clear", "clear()", ">v", __nsThunk178, nil) - registerMember(registrar, 35, 3, 0, "SwiftDemo", "count", "count", ">i64", __nsThunk179, nil) - registerMember(registrar, 35, 1, 0, "SwiftDemo", "publish", "publish(_:)", "s>v", __nsThunk180, nil) - registerMember(registrar, 35, 1, 0, "SwiftDemo", "subscribe", "subscribe(_:)", "(s)>v", __nsThunk181, nil) - registerMember(registrar, 35, 0, 0, "SwiftDemo", "constructor", "init()", ">o35", __nsThunk182, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "centroid", "centroid(of:)", "[o19]>o19", __nsThunk183, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "checksum", "checksum(_:)", "B>i64", __nsThunk184, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "countBox", "countBox(_:)", "i64>o1", __nsThunk185, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "describe", "describe(_:)", "o4>s", __nsThunk186, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "describe", "describe(_:)", "@UIView>s", __nsThunk187, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "echoInt8", "echoInt8(_:)", "i8>i8", __nsThunk188, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeNote", "makeNote(_:)", "s>@SwiftDemo.Note", __nsThunk189, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "mirrored", "mirrored(_:)", "[[i64]]>[[i64]]", __nsThunk190, nil) - registerMember(registrar, -1, 5, 1, "SwiftDemo", "scoreAll", "scoreAll(_:_:)", "p23,[i64]>[i64]", __nsThunk191, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "simplify", "simplify(_:)", "t26>t26", __nsThunk192, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "trackers", "trackers(_:)", "[i64]>[o33]", __nsThunk193, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "countdown", "countdown(from:_:)", "i64,(i64,b)>v", __nsThunk194, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "introduce", "introduce(_:to:)", "p34,s>s", __nsThunk195, nil) - registerMember(registrar, -1, 5, 16, "SwiftDemo", "makeLabel", "makeLabel(_:)", "s>@UILabel", __nsThunk196, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeScore", "makeScore(_:_:)", "s,i64>o3", __nsThunk197, nil) - registerMember(registrar, -1, 5, 8, "SwiftDemo", "noteLater", "noteLater(_:)", "s>@SwiftDemo.Note", __nsThunk198, nil) - registerMember(registrar, -1, 5, 0, "SwiftDemo", "onMeasure", "onMeasure(_:)", "(t10)>v", __nsThunk199, nil) - registerMember(registrar, 13, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk200, nil) - registerMember(registrar, 21, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk201, nil) - registerMember(registrar, 31, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk202, nil) - registerMember(registrar, 9, 3, 0, "SwiftDemo", "localizedDescription", "localizedDescription", ">s", __nsThunk203, nil) + registerMember(registrar, 10, 1, 0, "SwiftDemo", "warm", "warm(by:)", "f64>v", __nsThunk38, nil) + registerMember(registrar, 10, 3, 2, "SwiftDemo", "label", "label", ">s", __nsThunk39, __nsThunk40) + registerMember(registrar, 10, 3, 2, "SwiftDemo", "celsius", "celsius", ">f64", __nsThunk41, __nsThunk42) + registerMember(registrar, 10, 1, 0, "SwiftDemo", "warmLater", "warmLater(by:)", "f64>v", __nsThunk43, nil) + registerMember(registrar, 10, 0, 0, "SwiftDemo", "constructor", "init()", ">o10", __nsThunk44, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "allFlavors", "allFlavors()", ">[e22]", __nsThunk45, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "echoUInt64", "echoUInt64(_:)", "u64>u64", __nsThunk46, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "greetLater", "greetLater(_:completion:)", "s?,(s?)>v", __nsThunk47, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "largestInt", "largestInt()", ">i64", __nsThunk48, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeScorer", "makeScorer()", ">p24", __nsThunk49, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "namesLater", "namesLater(_:)", "i64>[s]", __nsThunk50, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "wordCounts", "wordCounts(_:)", "[s]>{i64}", __nsThunk51, nil) + registerMember(registrar, 12, 0, 0, "SwiftDemo", "constructor", "init(symbol:)", "s>o12", __nsThunk52, nil) + registerMember(registrar, 12, 3, 2, "SwiftDemo", "symbol", "symbol", ">s", __nsThunk53, __nsThunk54) + registerMember(registrar, 11, 7, 0, "SwiftDemo", "area", "area(width:height:)", "f64,f64>t11", nil, nil) + registerMember(registrar, 11, 7, 0, "SwiftDemo", "none", "none", ">t11", nil, nil) + registerMember(registrar, 11, 3, 0, "SwiftDemo", "isNone", "isNone", ">b", __nsThunk55, nil) + registerMember(registrar, 11, 7, 0, "SwiftDemo", "length", "length(_:)", "f64>t11", nil, nil) + registerMember(registrar, -1, 5, 1, "SwiftDemo", "checkedSide", "checkedSide(_:)", "f64>f64", __nsThunk56, nil) + registerMember(registrar, -1, 5, 9, "SwiftDemo", "delayedEcho", "delayedEcho(_:after:)", "s,f64>s", __nsThunk57, nil) + registerMember(registrar, 13, 3, 32, "SwiftDemo", "rank", "rank", ">i64?", __nsThunk58, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "firstSubview", "firstSubview(of:)", "@UIView>@UIView?", __nsThunk59, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeGreeting", "makeGreeting(_:)", "s>p35", __nsThunk60, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "measureLater", "measureLater(_:)", "f64>t11", __nsThunk61, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "measurements", "measurements()", ">[t11]", __nsThunk62, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "swapTrackers", "swapTrackers(_:_:)", "&o34,&o34>v", __nsThunk63, nil) + registerMember(registrar, 14, 7, 0, "SwiftDemo", "none", "none", ">e14", nil, nil) + registerMember(registrar, 14, 7, 0, "SwiftDemo", "rain", "rain", ">e14", nil, nil) + registerMember(registrar, 14, 7, 0, "SwiftDemo", "snow", "snow", ">e14", nil, nil) + registerMember(registrar, 14, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "s>e14?", __nsThunk64, nil) + registerMember(registrar, -1, 6, 0, "SwiftDemo", "defaultFlavor", "defaultFlavor", ">e22", __nsThunk65, nil) + registerMember(registrar, -1, 6, 2, "SwiftDemo", "globalCounter", "globalCounter", ">i64", __nsThunk66, __nsThunk67) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "starterWallet", "starterWallet(for:)", "s>o6", __nsThunk68, nil) + registerMember(registrar, 15, 1, 0, "SwiftDemo", "score", "score(_:)", "i64>i64", __nsThunk69, nil) + registerMember(registrar, 15, 0, 0, "SwiftDemo", "constructor", "init()", ">o15", __nsThunk70, nil) + registerMember(registrar, 16, 3, 2, "SwiftDemo", "punctuation", "punctuation", ">s", __nsThunk71, __nsThunk72) + registerMember(registrar, 16, 0, 0, "SwiftDemo", "constructor", "init(name:)", "s>o16", __nsThunk73, nil) + registerMember(registrar, 16, 3, 0, "SwiftDemo", "name", "name", ">s", __nsThunk74, nil) + registerMember(registrar, 16, 1, 0, "SwiftDemo", "greet", "greet(_:)", "s>s", __nsThunk75, nil) + registerMember(registrar, 16, 1, 0, "SwiftDemo", "reset", "reset()", ">v", __nsThunk76, nil) + registerMember(registrar, 17, 1, 0, "SwiftDemo", "greet", "greet(_:)", "s>s?", __nsThunk77, nil) + registerMember(registrar, 17, 3, 2, "SwiftDemo", "greeting", "greeting", ">p35?", __nsThunk78, __nsThunk79) + registerMember(registrar, 17, 0, 0, "SwiftDemo", "constructor", "init()", ">o17", __nsThunk80, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeDefaultPoint", "makeDefaultPoint()", ">o20", __nsThunk81, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "makeTrackerLater", "makeTrackerLater(id:)", "i64>o34", __nsThunk82, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "greetInBackground", "greetInBackground(_:)", "p35>s", __nsThunk83, nil) + registerMember(registrar, 18, 0, 0, "SwiftDemo", "constructor", "init(id:)", "i64>o18", __nsThunk84, nil) + registerMember(registrar, 18, 3, 2, "SwiftDemo", "id", "id", ">i64", __nsThunk85, __nsThunk86) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "sum", "sum(of:)", "[o5]>o5", __nsThunk87, nil) + registerMember(registrar, 19, 0, 0, "SwiftDemo", "constructor", "init(inner:outer:)", "o20,o20>o19", __nsThunk88, nil) + registerMember(registrar, 19, 3, 2, "SwiftDemo", "inner", "inner", ">o20", __nsThunk89, __nsThunk90) + registerMember(registrar, 19, 3, 2, "SwiftDemo", "outer", "outer", ">o20", __nsThunk91, __nsThunk92) + registerMember(registrar, 19, 1, 0, "SwiftDemo", "expand", "expand(by:)", "f64>v", __nsThunk93, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "area", "area(of:)", "t11>f64", __nsThunk94, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "bump", "bump(_:)", "&i64>v", __nsThunk95, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "echo", "echo(_:)", "t30>t30", __nsThunk96, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "flip", "flip(_:)", "e2>e2", __nsThunk97, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "host", "host(of:)", "U>s?", __nsThunk98, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "ramp", "ramp(_:)", "i64>B", __nsThunk99, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "same", "same(_:)", "p35>p35", __nsThunk100, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "tags", "tags(_:)", "[@UIView]>[i64]", __nsThunk101, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "text", "text(of:)", "@SwiftDemo.Note>s", __nsThunk102, nil) + registerMember(registrar, 20, 3, 0, "SwiftDemo", "description", "description", ">s", __nsThunk103, nil) + registerMember(registrar, 20, 0, 0, "SwiftDemo", "constructor", "init(x:y:)", "f64,f64>o20", __nsThunk104, nil) + registerMember(registrar, 20, 3, 2, "SwiftDemo", "x", "x", ">f64", __nsThunk105, __nsThunk106) + registerMember(registrar, 20, 3, 2, "SwiftDemo", "y", "y", ">f64", __nsThunk107, __nsThunk108) + registerMember(registrar, 20, 3, 0, "SwiftDemo", "length", "length", ">f64", __nsThunk109, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "boxed", "boxed(_:)", "o5>o0", __nsThunk110, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "clear", "clear(_:)", "&s?>v", __nsThunk111, nil) + registerMember(registrar, -1, 5, 1, "SwiftDemo", "halve", "halve(_:)", "&i64>v", __nsThunk112, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "names", "names(_:)", "i64>[s]", __nsThunk113, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "shout", "shout(_:)", "s?>s?", __nsThunk114, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "total", "total(_:)", "[f64]>f64", __nsThunk115, nil) + registerMember(registrar, 21, 0, 16, "SwiftDemo", "constructor", "init()", ">o21", __nsThunk116, nil) + registerMember(registrar, 22, 3, 0, "SwiftDemo", "description", "description", ">s", __nsThunk117, nil) + registerMember(registrar, 22, 7, 0, "SwiftDemo", "vanilla", "vanilla", ">e22", nil, nil) + registerMember(registrar, 22, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "i64>e22?", __nsThunk118, nil) + registerMember(registrar, 22, 7, 0, "SwiftDemo", "chocolate", "chocolate", ">e22", nil, nil) + registerMember(registrar, 23, 1, 0, "SwiftDemo", "modernOnly", "modernOnly()", ">v", __nsThunk119, nil) + registerMember(registrar, 23, 1, 0, "SwiftDemo", "legacyFetch", "legacyFetch()", ">v", __nsThunk120, nil) + registerMember(registrar, 23, 1, 0, "SwiftDemo", "each", "each(_:)", "(i64)>v", __nsThunk121, nil) + registerMember(registrar, 23, 1, 1, "SwiftDemo", "load", "load(path:)", "s>B", __nsThunk122, nil) + registerMember(registrar, 23, 1, 8, "SwiftDemo", "wait", "wait(seconds:)", "f64>v", __nsThunk123, nil) + registerMember(registrar, 23, 1, 9, "SwiftDemo", "fetch", "fetch(url:)", "U>s", __nsThunk124, nil) + registerMember(registrar, 23, 1, 0, "SwiftDemo", "lookup", "lookup(table:key:)", "{i64},s>i64?", __nsThunk125, nil) + registerMember(registrar, 23, 1, 0, "SwiftDemo", "update", "update(_:)", "&o20>v", __nsThunk126, nil) + registerMember(registrar, 23, 1, 0, "SwiftDemo", "oldFetch", "oldFetch()", ">v", __nsThunk127, nil) + registerMember(registrar, 23, 0, 0, "SwiftDemo", "constructor", "init()", ">o23", __nsThunk128, nil) + registerMember(registrar, 24, 1, 33, "SwiftDemo", "score", "score(_:)", "i64>i64", __nsThunk129, nil) + registerMember(registrar, 25, 3, 0, "SwiftDemo", "area", "area", ">f64", __nsThunk130, nil) + registerMember(registrar, 25, 0, 0, "SwiftDemo", "constructor", "init(side:)", "f64>o25", __nsThunk131, nil) + registerMember(registrar, 25, 3, 2, "SwiftDemo", "side", "side", ">f64", __nsThunk132, __nsThunk133) + registerMember(registrar, 25, 1, 0, "SwiftDemo", "greet", "greet(name:)", "s>s", __nsThunk134, nil) + registerMember(registrar, 25, 1, 0, "SwiftDemo", "scale", "scale(by:)", "f64>v", __nsThunk135, nil) + registerMember(registrar, 25, 4, 0, "SwiftDemo", "sides", "sides", ">i64", __nsThunk136, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "append", "append(_:to:)", "s,&[s]>v", __nsThunk137, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "excite", "excite(_:)", "p35>v", __nsThunk138, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "settle", "settle(_:)", "i64>t7", __nsThunk139, nil) + registerMember(registrar, 26, 3, 8, "SwiftDemo", "step", "step", ">i64", __nsThunk140, nil) + registerMember(registrar, 26, 1, 0, "SwiftDemo", "label", "label()", ">s", __nsThunk141, nil) + registerMember(registrar, 26, 3, 8, "SwiftDemo", "value", "value", ">i64", __nsThunk142, nil) + registerMember(registrar, 26, 1, 8, "SwiftDemo", "increment", "increment()", ">i64", __nsThunk143, nil) + registerMember(registrar, 26, 0, 0, "SwiftDemo", "constructor", "init()", ">o26", __nsThunk144, nil) + registerMember(registrar, 27, 7, 0, "SwiftDemo", "sum", "sum(_:_:)", "t27,t27>t27", nil, nil) + registerMember(registrar, 27, 3, 0, "SwiftDemo", "value", "value", ">f64", __nsThunk145, nil) + registerMember(registrar, 27, 7, 0, "SwiftDemo", "negate", "negate(_:)", "t27>t27", nil, nil) + registerMember(registrar, 27, 7, 0, "SwiftDemo", "number", "number(_:)", "f64>t27", nil, nil) + registerMember(registrar, 28, 1, 32, "SwiftDemo", "greet", "greet(name:)", "s>s", __nsThunk146, nil) + registerMember(registrar, 29, 1, 8, "SwiftDemo", "strokeLater", "strokeLater()", ">i64", __nsThunk147, nil) + registerMember(registrar, 29, 1, 16, "SwiftDemo", "stroke", "stroke()", ">i64", __nsThunk148, nil) + registerMember(registrar, 29, 3, 16, "SwiftDemo", "strokes", "strokes", ">i64", __nsThunk149, nil) + registerMember(registrar, 29, 0, 16, "SwiftDemo", "constructor", "init()", ">o29", __nsThunk150, nil) + registerMember(registrar, 30, 7, 0, "SwiftDemo", "maybe", "maybe(_:)", "i64?>t30", nil, nil) + registerMember(registrar, 30, 7, 0, "SwiftDemo", "names", "names(_:)", "[s]>t30", nil, nil) + registerMember(registrar, 30, 7, 0, "SwiftDemo", "point", "point(_:)", "o20>t30", nil, nil) + registerMember(registrar, 30, 7, 0, "SwiftDemo", "flavor", "flavor(_:)", "e22>t30", nil, nil) + registerMember(registrar, 30, 7, 0, "SwiftDemo", "tracker", "tracker(_:)", "o34>t30", nil, nil) + registerMember(registrar, 31, 3, 0, "SwiftDemo", "vertexCount", "vertexCount", ">i64", __nsThunk151, nil) + registerMember(registrar, 31, 2, 0, "SwiftDemo", "make", "make()", ">o31", __nsThunk152, nil) + registerMember(registrar, 31, 0, 0, "SwiftDemo", "constructor", "init(name:vertexCount:)", "s,i64>o31", __nsThunk153, nil) + registerMember(registrar, 31, 0, 0, "SwiftDemo", "constructor", "init(name:)", "s>o31?", __nsThunk154, nil) + registerMember(registrar, 31, 3, 0, "SwiftDemo", "name", "name", ">s", __nsThunk155, nil) + registerMember(registrar, 32, 7, 0, "SwiftDemo", "solid", "solid", ">e32", nil, nil) + registerMember(registrar, 32, 7, 0, "SwiftDemo", "dashed", "dashed", ">e32", nil, nil) + registerMember(registrar, 32, 0, 0, "SwiftDemo", "constructor", "init(rawValue:)", "s>e32?", __nsThunk156, nil) + registerMember(registrar, 31, 1, 0, "SwiftDemo", "scale", "scale(x:y:)", "f64,f64>v", __nsThunk157, nil) + registerMember(registrar, 31, 1, 4, "SwiftDemo", "scale", "scale(by:)", "f64>v", __nsThunk158, nil) + registerMember(registrar, 31, 1, 4, "SwiftDemo", "scale", "scale(by:)", "i64>v", __nsThunk159, nil) + registerMember(registrar, 31, 3, 0, "SwiftDemo", "style", "style", ">e32", __nsThunk160, nil) + registerMember(registrar, 31, 4, 0, "SwiftDemo", "shared", "shared", ">o31", __nsThunk161, nil) + registerMember(registrar, 33, 0, 0, "SwiftDemo", "constructor", "init(perimeter:)", "f64>o33", __nsThunk162, nil) + registerMember(registrar, 33, 3, 2, "SwiftDemo", "perimeter", "perimeter", ">f64", __nsThunk163, __nsThunk164) + registerMember(registrar, 31, 1, 0, "SwiftDemo", "metrics", "metrics(side:)", "f64>o33", __nsThunk165, nil) + registerMember(registrar, 31, 2, 0, "SwiftDemo", "describe", "describe(_:)", "o31?>s", __nsThunk166, nil) + registerMember(registrar, 34, 0, 0, "SwiftDemo", "constructor", "init(id:)", "i64>o34", __nsThunk167, nil) + registerMember(registrar, 34, 3, 0, "SwiftDemo", "id", "id", ">i64", __nsThunk168, nil) + registerMember(registrar, 34, 1, 0, "SwiftDemo", "same", "same()", ">o34", __nsThunk169, nil) + registerMember(registrar, 34, 4, 0, "SwiftDemo", "liveCount", "liveCount", ">i64", __nsThunk170, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "explain", "explain(_:)", "t9>s", __nsThunk171, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "lengths", "lengths(_:)", "{s}>{i64}", __nsThunk172, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "measure", "measure(_:by:)", "f64,f64?>t11", __nsThunk173, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "nextDay", "nextDay(after:)", "D>D", __nsThunk174, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "resolve", "resolve(_:against:)", "s,U>U", __nsThunk175, nil) + registerMember(registrar, -1, 5, 1, "SwiftDemo", "topRank", "topRank(_:)", "p13>s", __nsThunk176, nil) + registerMember(registrar, 35, 3, 34, "SwiftDemo", "punctuation", "punctuation", ">s", __nsThunk177, __nsThunk178) + registerMember(registrar, 35, 3, 32, "SwiftDemo", "name", "name", ">s", __nsThunk179, nil) + registerMember(registrar, 35, 1, 32, "SwiftDemo", "greet", "greet(_:)", "s>s", __nsThunk180, nil) + registerMember(registrar, 35, 1, 32, "SwiftDemo", "reset", "reset()", ">v", __nsThunk181, nil) + registerMember(registrar, 35, 1, 0, "SwiftDemo", "shout", "shout(_:)", "s>s", __nsThunk182, nil) + registerMember(registrar, 16, 1, 0, "SwiftDemo", "shout", "shout(_:)", "s>s", __nsThunk183, nil) + registerMember(registrar, 36, 1, 0, "SwiftDemo", "publishLater", "publishLater(_:)", "s>v", __nsThunk184, nil) + registerMember(registrar, 36, 1, 0, "SwiftDemo", "clear", "clear()", ">v", __nsThunk185, nil) + registerMember(registrar, 36, 3, 0, "SwiftDemo", "count", "count", ">i64", __nsThunk186, nil) + registerMember(registrar, 36, 1, 0, "SwiftDemo", "publish", "publish(_:)", "s>v", __nsThunk187, nil) + registerMember(registrar, 36, 1, 0, "SwiftDemo", "subscribe", "subscribe(_:)", "(s)>v", __nsThunk188, nil) + registerMember(registrar, 36, 0, 0, "SwiftDemo", "constructor", "init()", ">o36", __nsThunk189, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "centroid", "centroid(of:)", "[o20]>o20", __nsThunk190, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "checksum", "checksum(_:)", "B>i64", __nsThunk191, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "countBox", "countBox(_:)", "i64>o1", __nsThunk192, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "describe", "describe(_:)", "o4>s", __nsThunk193, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "describe", "describe(_:)", "@UIView>s", __nsThunk194, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "echoInt8", "echoInt8(_:)", "i8>i8", __nsThunk195, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeNote", "makeNote(_:)", "s>@SwiftDemo.Note", __nsThunk196, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "mirrored", "mirrored(_:)", "[[i64]]>[[i64]]", __nsThunk197, nil) + registerMember(registrar, -1, 5, 1, "SwiftDemo", "scoreAll", "scoreAll(_:_:)", "p24,[i64]>[i64]", __nsThunk198, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "simplify", "simplify(_:)", "t27>t27", __nsThunk199, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "trackers", "trackers(_:)", "[i64]>[o34]", __nsThunk200, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "countdown", "countdown(from:_:)", "i64,(i64,b)>v", __nsThunk201, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "introduce", "introduce(_:to:)", "p35,s>s", __nsThunk202, nil) + registerMember(registrar, -1, 5, 16, "SwiftDemo", "makeLabel", "makeLabel(_:)", "s>@UILabel", __nsThunk203, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "makeScore", "makeScore(_:_:)", "s,i64>o3", __nsThunk204, nil) + registerMember(registrar, -1, 5, 8, "SwiftDemo", "noteLater", "noteLater(_:)", "s>@SwiftDemo.Note", __nsThunk205, nil) + registerMember(registrar, -1, 5, 0, "SwiftDemo", "onMeasure", "onMeasure(_:)", "(t11)>v", __nsThunk206, nil) + registerMember(registrar, 14, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk207, nil) + registerMember(registrar, 22, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk208, nil) + registerMember(registrar, 32, 3, 0, "SwiftDemo", "hashValue", "hashValue", ">i64", __nsThunk209, nil) + registerMember(registrar, 9, 3, 0, "SwiftDemo", "localizedDescription", "localizedDescription", ">s", __nsThunk210, nil) } #if hasAttribute(c) diff --git a/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Observing.swift b/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Observing.swift new file mode 100644 index 00000000..73702800 --- /dev/null +++ b/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Observing.swift @@ -0,0 +1,19 @@ +// An @Observable class JavaScript can track. + +import Foundation +import Observation + +@available(iOS 17.0, *) +@Observable public final class Thermostat { + public var celsius: Double = 20 + public var label = "home" + + public init() {} + + public func warm(by delta: Double) { celsius += delta } + + public func warmLater(by delta: Double) { + let target = Unchecked(self) + DispatchQueue.global().async { target.value.celsius += delta } + } +} diff --git a/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Protocols.swift b/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Protocols.swift index 7a7b45c7..27cf8e86 100644 --- a/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Protocols.swift +++ b/metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Protocols.swift @@ -48,7 +48,7 @@ public func topRank(_ scorer: any RankedScorer) throws -> String { "\(scorer.rank ?? -1):\(try scorer.score(1))" } -private final class Unchecked: @unchecked Sendable { +final class Unchecked: @unchecked Sendable { let value: Value init(_ value: Value) { self.value = value } } diff --git a/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo.symbols.json b/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo.symbols.json index b497450d..320c4060 100644 --- a/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo.symbols.json +++ b/metadata-generator/TestFixtures/SwiftDemo/symbolgraphs/SwiftDemo.symbols.json @@ -1 +1 @@ -{"metadata":{"formatVersion":{"major":0,"minor":6,"patch":0},"generator":"Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)"},"module":{"name":"SwiftDemo","platform":{"architecture":"arm64","environment":"simulator","vendor":"apple","operatingSystem":{"name":"ios","minimumVersion":{"major":15,"minor":0}}}},"symbols":[{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo7GreeterP","interfaceLanguage":"swift"},"pathComponents":["Greeter"],"names":{"title":"Greeter","navigator":[{"kind":"identifier","spelling":"Greeter"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeter"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeter"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":0,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Greeter","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":1,"character":9}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo0B0C","interfaceLanguage":"swift"},"pathComponents":["Demo"],"names":{"title":"Demo","navigator":[{"kind":"identifier","spelling":"Demo"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Demo"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Demo"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":4,"character":13}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo0B0CACycfc","interfaceLanguage":"swift"},"pathComponents":["Demo","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":5,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo0B0C5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Demo","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":6,"character":16}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo5PointV","interfaceLanguage":"swift"},"pathComponents":["Point"],"names":{"title":"Point","navigator":[{"kind":"identifier","spelling":"Point"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Point"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Point"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":9,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV1xSdvp","interfaceLanguage":"swift"},"pathComponents":["Point","x"],"names":{"title":"x","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":10,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV1ySdvp","interfaceLanguage":"swift"},"pathComponents":["Point","y"],"names":{"title":"y","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":11,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo5PointV1x1yACSd_Sdtcfc","interfaceLanguage":"swift"},"pathComponents":["Point","init(x:y:)"],"names":{"title":"init(x:y:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"x","declarationFragments":[{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"y","declarationFragments":[{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":12,"character":11}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor"],"names":{"title":"Flavor","navigator":[{"kind":"identifier","spelling":"Flavor"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Flavor"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Flavor"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo6FlavorO7vanillayA2CmF","interfaceLanguage":"swift"},"pathComponents":["Flavor","vanilla"],"names":{"title":"Flavor.vanilla","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vanilla"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vanilla"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":31}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo6FlavorO9chocolateyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Flavor","chocolate"],"names":{"title":"Flavor.chocolate","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"chocolate"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"chocolate"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":44}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Flavor","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo0B0C5greet4name5timesS2S_SitF","interfaceLanguage":"swift"},"pathComponents":["Demo","greet(name:times:)"],"names":{"title":"greet(name:times:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"times","declarationFragments":[{"kind":"identifier","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":1,"character":16}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo0B0C7versionSSvpZ","interfaceLanguage":"swift"},"pathComponents":["Demo","version"],"names":{"title":"version","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":5,"character":22}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV11descriptionSSvp","interfaceLanguage":"swift"},"pathComponents":["Point","description"],"names":{"title":"description","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":9,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV6lengthSdvp","interfaceLanguage":"swift"},"pathComponents":["Point","length"],"names":{"title":"length","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":10,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6FlavorO11descriptionSSvp","interfaceLanguage":"swift"},"pathComponents":["Flavor","description"],"names":{"title":"description","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.enum"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":14,"character":15}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style"],"names":{"title":"Polygon.Style","navigator":[{"kind":"identifier","spelling":"Style"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Style"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Style"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","solid"],"names":{"title":"Polygon.Style.solid","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"solid"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"solid"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":37}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","dashed"],"names":{"title":"Polygon.Style.dashed","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dashed"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dashed"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":44}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics"],"names":{"title":"Polygon.Metrics","navigator":[{"kind":"identifier","spelling":"Metrics"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Metrics"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Metrics"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":33,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics","perimeter"],"names":{"title":"perimeter","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":34,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics","init(perimeter:)"],"names":{"title":"init(perimeter:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"perimeter","declarationFragments":[{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":35,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5styleAC5StyleOvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","style"],"names":{"title":"style","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"style"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Style","preciseIdentifier":"s:9SwiftDemo7PolygonC5StyleO"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"style"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Style","preciseIdentifier":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":38,"character":15}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","metrics(side:)"],"names":{"title":"metrics(side:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"metrics"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"."},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"metrics"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":39,"character":16}}},{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo8GreetingP","interfaceLanguage":"swift"},"pathComponents":["Greeting"],"names":{"title":"Greeting","navigator":[{"kind":"identifier","spelling":"Greeting"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeting"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeting"},{"kind":"text","spelling":" : AnyObject"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":2,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo8GreetingP4nameSSvp","interfaceLanguage":"swift"},"pathComponents":["Greeting","name"],"names":{"title":"name","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":3,"character":8}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo8GreetingP11punctuationSSvp","interfaceLanguage":"swift"},"pathComponents":["Greeting","punctuation"],"names":{"title":"punctuation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"punctuation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"punctuation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"set"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":4,"character":8}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8GreetingP5greetyS2SF","interfaceLanguage":"swift"},"pathComponents":["Greeting","greet(_:)"],"names":{"title":"greet(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":5,"character":9}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8GreetingP5resetyyF","interfaceLanguage":"swift"},"pathComponents":["Greeting","reset()"],"names":{"title":"reset()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"reset"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"reset"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":6,"character":9}}},{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo6ScorerP","interfaceLanguage":"swift"},"pathComponents":["Scorer"],"names":{"title":"Scorer","navigator":[{"kind":"identifier","spelling":"Scorer"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Scorer"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Scorer"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":9,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6ScorerP5scoreyS2iKF","interfaceLanguage":"swift"},"pathComponents":["Scorer","score(_:)"],"names":{"title":"score(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"score"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"score"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":10,"character":9}}},{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo12RankedScorerP","interfaceLanguage":"swift"},"pathComponents":["RankedScorer"],"names":{"title":"RankedScorer","navigator":[{"kind":"identifier","spelling":"RankedScorer"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RankedScorer"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RankedScorer"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":14,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo12RankedScorerP4rankSiSgvp","interfaceLanguage":"swift"},"pathComponents":["RankedScorer","rank"],"names":{"title":"rank","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rank"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rank"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"? { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":15,"character":8}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8GreetingPAAE5shoutyS2SF","interfaceLanguage":"swift"},"pathComponents":["Greeting","shout(_:)"],"names":{"title":"shout(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":19,"character":16}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting"],"names":{"title":"FormalGreeting","navigator":[{"kind":"identifier","spelling":"FormalGreeting"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FormalGreeting"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FormalGreeting"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":22,"character":19}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8GreetingPAAE5shoutyS2SF::SYNTHESIZED::s:9SwiftDemo14FormalGreetingC","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","shout(_:)"],"names":{"title":"shout(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":19,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC4nameSSvp","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","name"],"names":{"title":"name","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":23,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC11punctuationSSvp","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","punctuation"],"names":{"title":"punctuation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"punctuation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"punctuation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":24,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC4nameACSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","init(name:)"],"names":{"title":"init(name:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":25,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC5greetyS2SF","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","greet(_:)"],"names":{"title":"greet(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":26,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC5resetyyF","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","reset()"],"names":{"title":"reset()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"reset"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"reset"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":27,"character":16}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo14DoublingScorerV","interfaceLanguage":"swift"},"pathComponents":["DoublingScorer"],"names":{"title":"DoublingScorer","navigator":[{"kind":"identifier","spelling":"DoublingScorer"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"DoublingScorer"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"DoublingScorer"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":30,"character":14}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo14DoublingScorerVACycfc","interfaceLanguage":"swift"},"pathComponents":["DoublingScorer","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":31,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo14DoublingScorerV5scoreyS2iF","interfaceLanguage":"swift"},"pathComponents":["DoublingScorer","score(_:)"],"names":{"title":"score(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"score"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"score"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":32,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9introduce_2toSSAA8Greeting_p_SStF","interfaceLanguage":"swift"},"pathComponents":["introduce(_:to:)"],"names":{"title":"introduce(_:to:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"introduce"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"greeting","declarationFragments":[{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]},{"name":"to","internalName":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"introduce"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":35,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12makeGreetingyAA0D0_pSSF","interfaceLanguage":"swift"},"pathComponents":["makeGreeting(_:)"],"names":{"title":"makeGreeting(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeGreeting"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"any "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeGreeting"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":39,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4sameyAA8Greeting_pAaC_pF","interfaceLanguage":"swift"},"pathComponents":["same(_:)"],"names":{"title":"same(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":") -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]},"functionSignature":{"parameters":[{"name":"greeting","declarationFragments":[{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]}],"returns":[{"kind":"text","spelling":"any "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":") -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":40,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo6exciteyyAA8Greeting_pF","interfaceLanguage":"swift"},"pathComponents":["excite(_:)"],"names":{"title":"excite(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"excite"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"greeting","declarationFragments":[{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"excite"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":41,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8scoreAllySaySiGAA6Scorer_p_ACtKF","interfaceLanguage":"swift"},"pathComponents":["scoreAll(_:_:)"],"names":{"title":"scoreAll(_:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scoreAll"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"},{"kind":"text","spelling":", ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"scorer","declarationFragments":[{"kind":"identifier","spelling":"scorer"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"}]},{"name":"values","declarationFragments":[{"kind":"identifier","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scoreAll"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"scorer"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":42,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10makeScorerAA0D0_pyF","interfaceLanguage":"swift"},"pathComponents":["makeScorer()"],"names":{"title":"makeScorer()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeScorer"},{"kind":"text","spelling":"() -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"any "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeScorer"},{"kind":"text","spelling":"() -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":45,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7topRankySSAA12RankedScorer_pKF","interfaceLanguage":"swift"},"pathComponents":["topRank(_:)"],"names":{"title":"topRank(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"topRank"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"RankedScorer","preciseIdentifier":"s:9SwiftDemo12RankedScorerP"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"scorer","declarationFragments":[{"kind":"identifier","spelling":"scorer"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"RankedScorer","preciseIdentifier":"s:9SwiftDemo12RankedScorerP"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"topRank"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"scorer"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"RankedScorer","preciseIdentifier":"s:9SwiftDemo12RankedScorerP"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":46,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo17greetInBackgroundySSAA8Greeting_pYaF","interfaceLanguage":"swift"},"pathComponents":["greetInBackground(_:)"],"names":{"title":"greetInBackground(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetInBackground"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"greeting","declarationFragments":[{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetInBackground"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":55,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo14GreetingHolderC","interfaceLanguage":"swift"},"pathComponents":["GreetingHolder"],"names":{"title":"GreetingHolder","navigator":[{"kind":"identifier","spelling":"GreetingHolder"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"GreetingHolder"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"GreetingHolder"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":60,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo14GreetingHolderC8greetingAA0C0_pSgvp","interfaceLanguage":"swift"},"pathComponents":["GreetingHolder","greeting"],"names":{"title":"greeting","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":")?"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":")?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":61,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo14GreetingHolderCACycfc","interfaceLanguage":"swift"},"pathComponents":["GreetingHolder","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":62,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo14GreetingHolderC5greetySSSgSSF","interfaceLanguage":"swift"},"pathComponents":["GreetingHolder","greet(_:)"],"names":{"title":"greet(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":63,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF","interfaceLanguage":"swift"},"pathComponents":["starterWallet(for:)"],"names":{"title":"starterWallet(for:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"starterWallet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"for"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}]},"functionSignature":{"parameters":[{"name":"for","internalName":"owner","declarationFragments":[{"kind":"identifier","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"starterWallet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"for"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":4,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF","interfaceLanguage":"swift"},"pathComponents":["sum(of:)"],"names":{"title":"sum(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"amounts","declarationFragments":[{"kind":"identifier","spelling":"amounts"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"amounts"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":10,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4flipy0aB3Kit4CoinOAEF","interfaceLanguage":"swift"},"pathComponents":["flip(_:)"],"names":{"title":"flip(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flip"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]},"functionSignature":{"parameters":[{"name":"coin","declarationFragments":[{"kind":"identifier","spelling":"coin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flip"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"coin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":14,"character":12}}},{"kind":{"identifier":"swift.typealias","displayName":"Type Alias"},"identifier":{"precise":"s:9SwiftDemo5Scorea","interfaceLanguage":"swift"},"pathComponents":["Score"],"names":{"title":"Score","navigator":[{"kind":"identifier","spelling":"Score"}],"subHeading":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Score"}]},"declarationFragments":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Score"},{"kind":"text","spelling":" = "},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":25,"character":17}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9makeScorey0aB3Kit4PairVySSSiGSS_SitF","interfaceLanguage":"swift"},"pathComponents":["makeScore(_:_:)"],"names":{"title":"makeScore(_:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeScore"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Score","preciseIdentifier":"s:9SwiftDemo5Scorea"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"points","declarationFragments":[{"kind":"identifier","spelling":"points"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Score","preciseIdentifier":"s:9SwiftDemo5Scorea"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeScore"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"points"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Score","preciseIdentifier":"s:9SwiftDemo5Scorea"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":27,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8describeySS0aB3Kit4PairVySiSSGF","interfaceLanguage":"swift"},"pathComponents":["describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"pair","declarationFragments":[{"kind":"identifier","spelling":"pair"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":">"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"pair"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":28,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5boxedy0aB3Kit3BoxCyAC5MoneyVGAGF","interfaceLanguage":"swift"},"pathComponents":["boxed(_:)"],"names":{"title":"boxed(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"boxed"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":">"}]},"functionSignature":{"parameters":[{"name":"money","declarationFragments":[{"kind":"identifier","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":">"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"boxed"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":29,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8countBoxy0aB3Kit0D0CySiGSiF","interfaceLanguage":"swift"},"pathComponents":["countBox(_:)"],"names":{"title":"countBox(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countBox"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countBox"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":30,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo6settley0aB3Kit7OutcomeOySiGSiF","interfaceLanguage":"swift"},"pathComponents":["settle(_:)"],"names":{"title":"settle(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settle"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Outcome","preciseIdentifier":"s:12SwiftDemoKit7OutcomeO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Outcome","preciseIdentifier":"s:12SwiftDemoKit7OutcomeO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settle"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Outcome","preciseIdentifier":"s:12SwiftDemoKit7OutcomeO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":31,"character":12}}},{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo5ShapeP","interfaceLanguage":"swift"},"pathComponents":["Shape"],"names":{"title":"Shape","navigator":[{"kind":"identifier","spelling":"Shape"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Shape"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Shape"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Greeter","preciseIdentifier":"s:9SwiftDemo7GreeterP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":2,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5ShapeP4areaSdvp","interfaceLanguage":"swift"},"pathComponents":["Shape","area"],"names":{"title":"area","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":3,"character":8}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo5ShapeP5sidesSivpZ","interfaceLanguage":"swift"},"pathComponents":["Shape","sides"],"names":{"title":"sides","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":4,"character":15}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7PolygonC","interfaceLanguage":"swift"},"pathComponents":["Polygon"],"names":{"title":"Polygon","navigator":[{"kind":"identifier","spelling":"Polygon"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Polygon"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Polygon"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":7,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4nameSSvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","name"],"names":{"title":"name","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":8,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC11vertexCountSivp","interfaceLanguage":"swift"},"pathComponents":["Polygon","vertexCount"],"names":{"title":"vertexCount","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":9,"character":28}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC6sharedACvpZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","shared"],"names":{"title":"shared","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shared"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shared"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":10,"character":22}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","init(name:vertexCount:)"],"names":{"title":"init(name:vertexCount:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"vertexCount","declarationFragments":[{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":12,"character":11}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4nameACSgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","init(name:)"],"names":{"title":"init(name:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"convenience"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":17,"character":23}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":22,"character":14}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale2byySi_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":23,"character":14}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(x:y:)"],"names":{"title":"scale(x:y:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"x","declarationFragments":[{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"y","declarationFragments":[{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":24,"character":16}}},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4makeACyFZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","make()"],"names":{"title":"make()","subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"make"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"make"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":26,"character":22}}},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC8describeySSACSgFZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"polygon","declarationFragments":[{"kind":"identifier","spelling":"polygon"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"polygon"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":27,"character":23}}},{"kind":{"identifier":"swift.subscript","displayName":"Instance Subscript"},"identifier":{"precise":"s:9SwiftDemo7PolygonCyAA5PointVSicip","interfaceLanguage":"swift"},"pathComponents":["Polygon","subscript(_:)"],"names":{"title":"subscript(_:)","subHeading":[{"kind":"keyword","spelling":"subscript"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"parameters":[{"name":"index","declarationFragments":[{"kind":"identifier","spelling":"index"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"subscript"},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"index"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":29,"character":11}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6SquareC","interfaceLanguage":"swift"},"pathComponents":["Square"],"names":{"title":"Square","navigator":[{"kind":"identifier","spelling":"Square"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Square"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Square"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":34,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC4sideSdvp","interfaceLanguage":"swift"},"pathComponents":["Square","side"],"names":{"title":"side","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":35,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6SquareC4sideACSd_tcfc","interfaceLanguage":"swift"},"pathComponents":["Square","init(side:)"],"names":{"title":"init(side:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":37,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC4areaSdvp","interfaceLanguage":"swift"},"pathComponents":["Square","area"],"names":{"title":"area","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":42,"character":15}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC5sidesSivpZ","interfaceLanguage":"swift"},"pathComponents":["Square","sides"],"names":{"title":"sides","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":43,"character":22}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6SquareC5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Square","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":44,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6SquareC5scale2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Square","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"override"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":46,"character":25}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation"],"names":{"title":"Precipitation","navigator":[{"kind":"identifier","spelling":"Precipitation"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Precipitation"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Precipitation"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":50,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4rainyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","rain"],"names":{"title":"Precipitation.rain","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rain"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rain"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4snowyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","snow"],"names":{"title":"Precipitation.snow","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"snow"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"snow"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":15}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4noneyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","none"],"names":{"title":"Precipitation.none","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":21}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Precipitation","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO","interfaceLanguage":"swift"},"pathComponents":["ShapeError"],"names":{"title":"ShapeError","navigator":[{"kind":"identifier","spelling":"ShapeError"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ShapeError"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ShapeError"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":54,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO","interfaceLanguage":"swift"},"pathComponents":["ShapeError","localizedDescription"],"names":{"title":"localizedDescription","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localizedDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"docComment":{"module":"Foundation","lines":[{"text":"Retrieve the localized description for this error."}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localizedDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":8,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":10}},{"domain":"tvOS","introduced":{"major":9,"minor":0}},{"domain":"watchOS","introduced":{"major":2,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","invalidSide(_:)"],"names":{"title":"ShapeError.invalidSide(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":55,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","tooManySides(count:limit:)"],"names":{"title":"ShapeError.tooManySides(count:limit:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tooManySides"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tooManySides"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":56,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO7unknownyA2CmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","unknown"],"names":{"title":"ShapeError.unknown","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unknown"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unknown"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":57,"character":9}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO","interfaceLanguage":"swift"},"pathComponents":["Measurement"],"names":{"title":"Measurement","navigator":[{"kind":"identifier","spelling":"Measurement"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Measurement"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Measurement"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":60,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO6lengthyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","length(_:)"],"names":{"title":"Measurement.length(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":61,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","area(width:height:)"],"names":{"title":"Measurement.area(width:height:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":62,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4noneyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","none"],"names":{"title":"Measurement.none","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":63,"character":9}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit"],"names":{"title":"Measurement.Unit","navigator":[{"kind":"identifier","spelling":"Unit"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Unit"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Unit"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":65,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit","symbol"],"names":{"title":"symbol","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":66,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit","init(symbol:)"],"names":{"title":"init(symbol:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"symbol","declarationFragments":[{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":67,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO6isNoneSbvp","interfaceLanguage":"swift"},"pathComponents":["Measurement","isNone"],"names":{"title":"isNone","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isNone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isNone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":70,"character":15}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo4RingV","interfaceLanguage":"swift"},"pathComponents":["Ring"],"names":{"title":"Ring","navigator":[{"kind":"identifier","spelling":"Ring"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ring"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ring"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":76,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4RingV5innerAA5PointVvp","interfaceLanguage":"swift"},"pathComponents":["Ring","inner"],"names":{"title":"inner","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":77,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4RingV5outerAA5PointVvp","interfaceLanguage":"swift"},"pathComponents":["Ring","outer"],"names":{"title":"outer","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":78,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc","interfaceLanguage":"swift"},"pathComponents":["Ring","init(inner:outer:)"],"names":{"title":"init(inner:outer:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"inner","declarationFragments":[{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},{"name":"outer","declarationFragments":[{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":80,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo4RingV6expand2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Ring","expand(by:)"],"names":{"title":"expand(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"delta","declarationFragments":[{"kind":"identifier","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"mutating"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":85,"character":25}}},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:9SwiftDemo4RingV1poiyA2C_ACtFZ","interfaceLanguage":"swift"},"pathComponents":["Ring","+(_:_:)"],"names":{"title":"+(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"+"},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"+"},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":90,"character":23}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter"],"names":{"title":"Counter","navigator":[{"kind":"identifier","spelling":"Counter"}],"subHeading":[{"kind":"keyword","spelling":"actor"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Counter"}]},"declarationFragments":[{"kind":"keyword","spelling":"actor"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Counter"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":95,"character":13}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","withSerialExecutor(_:)"],"names":{"title":"withSerialExecutor(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">((any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Perform an operation with the actor's ``SerialExecutor``."},{"text":""},{"text":"This converts the actor's ``Actor/unownedExecutor`` to a ``SerialExecutor`` while"},{"text":"retaining the actor for the duration of the operation. This is to ensure the lifetime"},{"text":"of the executor while performing the operation."}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1},{"name":"E","index":1,"depth":1}],"constraints":[{"kind":"conformance","lhs":"E","rhs":"Error","rhsPrecise":"s:s5ErrorP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Error","preciseIdentifier":"s:s5ErrorP"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : ~Copyable"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","withSerialExecutor(_:)"],"names":{"title":"withSerialExecutor(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"keyword","spelling":"nonisolated(nonsending)"},{"kind":"text","spelling":" (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Perform an operation with the actor's ``SerialExecutor``."},{"text":""},{"text":"This converts the actor's ``Actor/unownedExecutor`` to a ``SerialExecutor`` while"},{"text":"retaining the actor for the duration of the operation. This is to ensure the lifetime"},{"text":"of the executor while performing the operation."}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1},{"name":"E","index":1,"depth":1}],"constraints":[{"kind":"conformance","lhs":"E","rhs":"Error","rhsPrecise":"s:s5ErrorP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"nonisolated(nonsending)"},{"kind":"text","spelling":" (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Error","preciseIdentifier":"s:s5ErrorP"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : ~Copyable"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","preconditionIsolated(_:file:line:)"],"names":{"title":"preconditionIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preconditionIsolated"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":")"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Stops program execution if the current task is not executing on this"},{"text":"actor's serial executor."},{"text":""},{"text":"This function's effect varies depending on the build flag used:"},{"text":""},{"text":"* In playgrounds and `-Onone` builds (the default for Xcode's Debug"},{"text":" configuration), stops program execution in a debuggable state after"},{"text":" printing `message`."},{"text":""},{"text":"* In `-O` builds (the default for Xcode's Release configuration), stops"},{"text":" program execution."},{"text":""},{"text":"- Note: Because this check is performed against the actor's serial executor,"},{"text":" if another actor uses the same serial executor--by using"},{"text":" that actor's serial executor as its own ``Actor/unownedExecutor``--this"},{"text":" check will succeed. From a concurrency safety perspective, the"},{"text":" serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - message: The message to print if the assertion fails."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": () -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"text","spelling":"@backDeployed(before: macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0)\n"},{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preconditionIsolated"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" = String(), "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","assertIsolated(_:file:line:)"],"names":{"title":"assertIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assertIsolated"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":")"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Stops program execution if the current task is not executing on this"},{"text":"actor's serial executor."},{"text":""},{"text":"This function's effect varies depending on the build flag used:"},{"text":""},{"text":"* In playgrounds and `-Onone` builds (the default for Xcode's Debug"},{"text":" configuration), stops program execution in a debuggable state after"},{"text":" printing `message`."},{"text":""},{"text":"* In `-O` builds (the default for Xcode's Release configuration),"},{"text":" the isolation check is not performed and there are no effects."},{"text":""},{"text":"- Note: This check is performed against the actor's serial executor,"},{"text":" meaning that / if another actor uses the same serial executor--by using"},{"text":" that actor's serial executor as its own ``Actor/unownedExecutor``--this"},{"text":" check will succeed , as from a concurrency safety perspective, the"},{"text":" serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - message: The message to print if the assertion fails."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": () -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"text","spelling":"@backDeployed(before: macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0)\n"},{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assertIsolated"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" = String(), "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","assumeIsolated(_:file:line:)"],"names":{"title":"assumeIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assumeIsolated"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">(("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"rethrows"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Assume that the current task is executing on this actor's serial executor,"},{"text":"or stop program execution otherwise."},{"text":""},{"text":"You call this method to *assume and verify* that the currently"},{"text":"executing synchronous function is actually executing on the serial"},{"text":"executor of this actor."},{"text":""},{"text":"If that is the case, the operation is invoked with an `isolated` version"},{"text":"of the actor, allowing synchronous access to actor local state without"},{"text":"hopping through asynchronous boundaries."},{"text":""},{"text":"If the current context is not running on the actor's serial executor, or"},{"text":"if the actor is a reference to a remote actor, this method will crash"},{"text":"with a fatal error (similar to ``preconditionIsolated(_:file:line:)``)."},{"text":""},{"text":"Note that this check is performed against the passed in actor's serial"},{"text":"executor, meaning that if another actor uses the same serial executor--by"},{"text":"using that actor's ``Actor/unownedExecutor`` as its own"},{"text":"``Actor/unownedExecutor``--this check will succeed, as from a concurrency"},{"text":"safety perspective, the serial executor guarantees mutual exclusion of"},{"text":"those two actors."},{"text":""},{"text":"This method can only be used from synchronous functions, as asynchronous"},{"text":"functions should instead perform a normal method call to the actor, which"},{"text":"will hop task execution to the target actor if necessary."},{"text":""},{"text":"- Note: This check is performed against the actor's serial executor,"},{"text":" meaning that / if another actor uses the same serial executor--by using"},{"text":" another actor's executor as its own ``Actor/unownedExecutor``"},{"text":" --this check will succeed , as from a concurrency safety perspective,"},{"text":" the serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - operation: the operation that will be executed if the current context"},{"text":" is executing on the actors serial executor."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."},{"text":"- Returns: the return value of the `operation`"},{"text":"- Throws: rethrows the `Error` thrown by the operation if it threw"}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1}],"constraints":[{"kind":"conformance","lhs":"T","rhs":"Sendable","rhsPrecise":"s:s8SendableP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assumeIsolated"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"rethrows"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Sendable","preciseIdentifier":"s:s8SendableP"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7CounterC5valueSivp","interfaceLanguage":"swift"},"pathComponents":["Counter","value"],"names":{"title":"value","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":96,"character":28}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7CounterC4stepSivp","interfaceLanguage":"swift"},"pathComponents":["Counter","step"],"names":{"title":"step","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"step"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"step"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":97,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7CounterCACycfc","interfaceLanguage":"swift"},"pathComponents":["Counter","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":98,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7CounterC9incrementSiyF","interfaceLanguage":"swift"},"pathComponents":["Counter","increment()"],"names":{"title":"increment()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"increment"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"increment"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":99,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7CounterC5labelSSyF","interfaceLanguage":"swift"},"pathComponents":["Counter","label()"],"names":{"title":"label()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":103,"character":28}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6CanvasC","interfaceLanguage":"swift"},"pathComponents":["Canvas"],"names":{"title":"Canvas","navigator":[{"kind":"identifier","spelling":"Canvas"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Canvas"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Canvas"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":107,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6CanvasCACycfc","interfaceLanguage":"swift"},"pathComponents":["Canvas","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":108,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6CanvasC4drawyyAA5Shape_pF","interfaceLanguage":"swift"},"pathComponents":["Canvas","draw(_:)"],"names":{"title":"draw(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draw"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"shape","declarationFragments":[{"kind":"identifier","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draw"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":109,"character":16}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6LoaderC","interfaceLanguage":"swift"},"pathComponents":["Loader"],"names":{"title":"Loader","navigator":[{"kind":"identifier","spelling":"Loader"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Loader"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Loader"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":112,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6LoaderCACycfc","interfaceLanguage":"swift"},"pathComponents":["Loader","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":113,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF","interfaceLanguage":"swift"},"pathComponents":["Loader","load(path:)"],"names":{"title":"load(path:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"load"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"functionSignature":{"parameters":[{"name":"path","declarationFragments":[{"kind":"identifier","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"load"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":115,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF","interfaceLanguage":"swift"},"pathComponents":["Loader","fetch(url:)"],"names":{"title":"fetch(url:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fetch"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"url","declarationFragments":[{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fetch"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":116,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF","interfaceLanguage":"swift"},"pathComponents":["Loader","wait(seconds:)"],"names":{"title":"wait(seconds:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wait"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"}]},"functionSignature":{"parameters":[{"name":"seconds","declarationFragments":[{"kind":"identifier","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wait"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":117,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF","interfaceLanguage":"swift"},"pathComponents":["Loader","transform(_:)"],"names":{"title":"transform(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transform"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"}]},"functionSignature":{"parameters":[{"name":"shape","declarationFragments":[{"kind":"identifier","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":0}],"constraints":[{"kind":"conformance","lhs":"T","rhs":"Shape","rhsPrecise":"s:9SwiftDemo5ShapeP"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transform"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":119,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF","interfaceLanguage":"swift"},"pathComponents":["Loader","first(of:)"],"names":{"title":"first(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Element"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"items","declarationFragments":[{"kind":"identifier","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Element"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"parameters":[{"name":"Element","index":0,"depth":0}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Element"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":120,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC14withCompletionyyys6ResultOySSAA10ShapeErrorOGcF","interfaceLanguage":"swift"},"pathComponents":["Loader","withCompletion(_:)"],"names":{"title":"withCompletion(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withCompletion"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"completion","declarationFragments":[{"kind":"identifier","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withCompletion"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":122,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4eachyyySiXEF","interfaceLanguage":"swift"},"pathComponents":["Loader","each(_:)"],"names":{"title":"each(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"each"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"body","declarationFragments":[{"kind":"identifier","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"each"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":123,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF","interfaceLanguage":"swift"},"pathComponents":["Loader","lookup(table:key:)"],"names":{"title":"lookup(table:key:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lookup"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"table","declarationFragments":[{"kind":"identifier","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},{"name":"key","declarationFragments":[{"kind":"identifier","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lookup"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":125,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC6updateyyAA5PointVzF","interfaceLanguage":"swift"},"pathComponents":["Loader","update(_:)"],"names":{"title":"update(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"point","declarationFragments":[{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"point"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":127,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC10modernOnlyyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","modernOnly()"],"names":{"title":"modernOnly()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"modernOnly"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"modernOnly"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":16,"minor":0}}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":130,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC11legacyFetchyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","legacyFetch()"],"names":{"title":"legacyFetch()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"legacyFetch"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"legacyFetch"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"*","message":"Use fetch(url:) instead","isUnconditionallyDeprecated":true}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":133,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC8oldFetchyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","oldFetch()"],"names":{"title":"oldFetch()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"oldFetch"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"oldFetch"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":15,"minor":0},"deprecated":{"major":17,"minor":0},"renamed":"fetch(url:)"}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":136,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo16makeDefaultPointAA0E0VyF","interfaceLanguage":"swift"},"pathComponents":["makeDefaultPoint()"],"names":{"title":"makeDefaultPoint()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeDefaultPoint"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeDefaultPoint"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":139,"character":12}}},{"kind":{"identifier":"swift.var","displayName":"Global Variable"},"identifier":{"precise":"s:9SwiftDemo13defaultFlavorAA0D0Ovp","interfaceLanguage":"swift"},"pathComponents":["defaultFlavor"],"names":{"title":"defaultFlavor","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"defaultFlavor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"defaultFlavor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":140,"character":11}}},{"kind":{"identifier":"swift.var","displayName":"Global Variable"},"identifier":{"precise":"s:9SwiftDemo13globalCounterSivp","interfaceLanguage":"swift"},"pathComponents":["globalCounter"],"names":{"title":"globalCounter","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"globalCounter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"globalCounter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":141,"character":11}}},{"kind":{"identifier":"swift.typealias","displayName":"Type Alias"},"identifier":{"precise":"s:9SwiftDemo11Coordinatesa","interfaceLanguage":"swift"},"pathComponents":["Coordinates"],"names":{"title":"Coordinates","navigator":[{"kind":"identifier","spelling":"Coordinates"}],"subHeading":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coordinates"}]},"declarationFragments":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coordinates"},{"kind":"text","spelling":" = (latitude"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", longitude"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":142,"character":17}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo11checkedSideyS2dKF","interfaceLanguage":"swift"},"pathComponents":["checkedSide(_:)"],"names":{"title":"checkedSide(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checkedSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checkedSide"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":5,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8echoInt8ys0D0VADF","interfaceLanguage":"swift"},"pathComponents":["echoInt8(_:)"],"names":{"title":"echoInt8(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoInt8"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoInt8"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":10,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10echoUInt64ys0D0VADF","interfaceLanguage":"swift"},"pathComponents":["echoUInt64(_:)"],"names":{"title":"echoUInt64(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoUInt64"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoUInt64"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":11,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10largestIntSiyF","interfaceLanguage":"swift"},"pathComponents":["largestInt()"],"names":{"title":"largestInt()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"largestInt"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"largestInt"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":12,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5shoutySSSgACF","interfaceLanguage":"swift"},"pathComponents":["shout(_:)"],"names":{"title":"shout(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":13,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7TrackerC","interfaceLanguage":"swift"},"pathComponents":["Tracker"],"names":{"title":"Tracker","navigator":[{"kind":"identifier","spelling":"Tracker"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Tracker"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Tracker"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":15,"character":19}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo7TrackerC9liveCountSivpZ","interfaceLanguage":"swift"},"pathComponents":["Tracker","liveCount"],"names":{"title":"liveCount","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"liveCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"liveCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":16,"character":35}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7TrackerC2idSivp","interfaceLanguage":"swift"},"pathComponents":["Tracker","id"],"names":{"title":"id","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":17,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7TrackerC2idACSi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Tracker","init(id:)"],"names":{"title":"init(id:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":19,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7TrackerC4sameACyF","interfaceLanguage":"swift"},"pathComponents":["Tracker","same()"],"names":{"title":"same()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":26,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo11delayedEcho_5afterS2S_SdtYaKF","interfaceLanguage":"swift"},"pathComponents":["delayedEcho(_:after:)"],"names":{"title":"delayedEcho(_:after:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delayedEcho"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"after","internalName":"seconds","declarationFragments":[{"kind":"identifier","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delayedEcho"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":29,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo16makeTrackerLater2idAA0D0CSi_tYaF","interfaceLanguage":"swift"},"pathComponents":["makeTrackerLater(id:)"],"names":{"title":"makeTrackerLater(id:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeTrackerLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeTrackerLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":35,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7PaletteC","interfaceLanguage":"swift"},"pathComponents":["Palette"],"names":{"title":"Palette","navigator":[{"kind":"identifier","spelling":"Palette"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Palette"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Palette"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":41,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PaletteC7strokesSivp","interfaceLanguage":"swift"},"pathComponents":["Palette","strokes"],"names":{"title":"strokes","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":42,"character":28}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PaletteCACycfc","interfaceLanguage":"swift"},"pathComponents":["Palette","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":43,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PaletteC6strokeSiyF","interfaceLanguage":"swift"},"pathComponents":["Palette","stroke()"],"names":{"title":"stroke()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stroke"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stroke"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":44,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PaletteC11strokeLaterSiyYaF","interfaceLanguage":"swift"},"pathComponents":["Palette","strokeLater()"],"names":{"title":"strokeLater()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokeLater"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokeLater"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":48,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5namesySaySSGSiF","interfaceLanguage":"swift"},"pathComponents":["names(_:)"],"names":{"title":"names(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":54,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5totalySdSaySdGF","interfaceLanguage":"swift"},"pathComponents":["total(_:)"],"names":{"title":"total(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"total"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"values","declarationFragments":[{"kind":"identifier","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"total"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":55,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8centroid2ofAA5PointVSayAEG_tF","interfaceLanguage":"swift"},"pathComponents":["centroid(of:)"],"names":{"title":"centroid(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"centroid"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"points","declarationFragments":[{"kind":"identifier","spelling":"points"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"centroid"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"points"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":56,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8mirroredySaySaySiGGADF","interfaceLanguage":"swift"},"pathComponents":["mirrored(_:)"],"names":{"title":"mirrored(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mirrored"},{"kind":"text","spelling":"([["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]) -> [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]},"functionSignature":{"parameters":[{"name":"grid","declarationFragments":[{"kind":"identifier","spelling":"grid"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]}],"returns":[{"kind":"text","spelling":"[["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mirrored"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"grid"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]) -> [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":57,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10wordCountsySDySSSiGSaySSGF","interfaceLanguage":"swift"},"pathComponents":["wordCounts(_:)"],"names":{"title":"wordCounts(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wordCounts"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"words","declarationFragments":[{"kind":"identifier","spelling":"words"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wordCounts"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"words"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":58,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7lengthsySDySSSiGSDyS2SGF","interfaceLanguage":"swift"},"pathComponents":["lengths(_:)"],"names":{"title":"lengths(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lengths"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"table","declarationFragments":[{"kind":"identifier","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lengths"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":61,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8trackersySayAA7TrackerCGSaySiGF","interfaceLanguage":"swift"},"pathComponents":["trackers(_:)"],"names":{"title":"trackers(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"trackers"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"ids","declarationFragments":[{"kind":"identifier","spelling":"ids"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"trackers"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"ids"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":62,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10allFlavorsSayAA6FlavorOGyF","interfaceLanguage":"swift"},"pathComponents":["allFlavors()"],"names":{"title":"allFlavors()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allFlavors"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allFlavors"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":63,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7nextDay5after10Foundation4DateVAF_tF","interfaceLanguage":"swift"},"pathComponents":["nextDay(after:)"],"names":{"title":"nextDay(after:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextDay"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]},"functionSignature":{"parameters":[{"name":"after","internalName":"date","declarationFragments":[{"kind":"identifier","spelling":"date"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextDay"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"date"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":64,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF","interfaceLanguage":"swift"},"pathComponents":["host(of:)"],"names":{"title":"host(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"host"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"url","declarationFragments":[{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"host"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":65,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7resolve_7against10Foundation3URLVSS_AFtF","interfaceLanguage":"swift"},"pathComponents":["resolve(_:against:)"],"names":{"title":"resolve(_:against:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resolve"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"against"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]},"functionSignature":{"parameters":[{"name":"path","declarationFragments":[{"kind":"identifier","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"against","internalName":"base","declarationFragments":[{"kind":"identifier","spelling":"base"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resolve"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"against"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"base"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":66,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8checksumySi10Foundation4DataVF","interfaceLanguage":"swift"},"pathComponents":["checksum(_:)"],"names":{"title":"checksum(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checksum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"parameters":[{"name":"data","declarationFragments":[{"kind":"identifier","spelling":"data"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checksum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"data"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":67,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4rampy10Foundation4DataVSiF","interfaceLanguage":"swift"},"pathComponents":["ramp(_:)"],"names":{"title":"ramp(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ramp"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ramp"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":68,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10namesLaterySaySSGSiYaF","interfaceLanguage":"swift"},"pathComponents":["namesLater(_:)"],"names":{"title":"namesLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"namesLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"namesLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":69,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9countdown4from_ySi_ySi_SbtXEtF","interfaceLanguage":"swift"},"pathComponents":["countdown(from:_:)"],"names":{"title":"countdown(from:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countdown"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"from"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"from","internalName":"start","declarationFragments":[{"kind":"identifier","spelling":"start"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},{"name":"tick","declarationFragments":[{"kind":"identifier","spelling":"tick"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countdown"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"from"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"start"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"tick"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":74,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10greetLater_10completionySSSg_yADYbctF","interfaceLanguage":"swift"},"pathComponents":["greetLater(_:completion:)"],"names":{"title":"greetLater(_:completion:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},{"name":"completion","declarationFragments":[{"kind":"identifier","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":80,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo8NotifierC","interfaceLanguage":"swift"},"pathComponents":["Notifier"],"names":{"title":"Notifier","navigator":[{"kind":"identifier","spelling":"Notifier"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Notifier"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Notifier"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":86,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo8NotifierCACycfc","interfaceLanguage":"swift"},"pathComponents":["Notifier","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":88,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo8NotifierC5countSivp","interfaceLanguage":"swift"},"pathComponents":["Notifier","count"],"names":{"title":"count","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":89,"character":15}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC9subscribeyyySSYbcF","interfaceLanguage":"swift"},"pathComponents":["Notifier","subscribe(_:)"],"names":{"title":"subscribe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribe"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"handler","declarationFragments":[{"kind":"identifier","spelling":"handler"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"handler"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":90,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC7publishyySSF","interfaceLanguage":"swift"},"pathComponents":["Notifier","publish(_:)"],"names":{"title":"publish(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publish"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publish"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":91,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC12publishLateryySSF","interfaceLanguage":"swift"},"pathComponents":["Notifier","publishLater(_:)"],"names":{"title":"publishLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publishLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publishLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":92,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC5clearyyF","interfaceLanguage":"swift"},"pathComponents":["Notifier","clear()"],"names":{"title":"clear()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":96,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4area2ofSdAA11MeasurementO_tF","interfaceLanguage":"swift"},"pathComponents":["area(of:)"],"names":{"title":"area(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"measurement","declarationFragments":[{"kind":"identifier","spelling":"measurement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"measurement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":99,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7measure_2byAA11MeasurementOSd_SdSgtF","interfaceLanguage":"swift"},"pathComponents":["measure(_:by:)"],"names":{"title":"measure(_:by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measure"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"functionSignature":{"parameters":[{"name":"width","declarationFragments":[{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"by","internalName":"height","declarationFragments":[{"kind":"identifier","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":106,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12measurementsSayAA11MeasurementOGyF","interfaceLanguage":"swift"},"pathComponents":["measurements()"],"names":{"title":"measurements()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measurements"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measurements"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":111,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF","interfaceLanguage":"swift"},"pathComponents":["measureLater(_:)"],"names":{"title":"measureLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measureLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"functionSignature":{"parameters":[{"name":"width","declarationFragments":[{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measureLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":113,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9onMeasureyyyAA11MeasurementOXEF","interfaceLanguage":"swift"},"pathComponents":["onMeasure(_:)"],"names":{"title":"onMeasure(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onMeasure"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"body","declarationFragments":[{"kind":"identifier","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onMeasure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":118,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7explainySSAA10ShapeErrorOF","interfaceLanguage":"swift"},"pathComponents":["explain(_:)"],"names":{"title":"explain(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"explain"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"error","declarationFragments":[{"kind":"identifier","spelling":"error"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"explain"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"error"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":120,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7FormulaO","interfaceLanguage":"swift"},"pathComponents":["Formula"],"names":{"title":"Formula","navigator":[{"kind":"identifier","spelling":"Formula"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Formula"}]},"declarationFragments":[{"kind":"keyword","spelling":"indirect"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Formula"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":128,"character":21}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO6numberyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","number(_:)"],"names":{"title":"Formula.number(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"number"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"number"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":129,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","sum(_:_:)"],"names":{"title":"Formula.sum(_:_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":130,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO6negateyA2CcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","negate(_:)"],"names":{"title":"Formula.negate(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"negate"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"negate"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":131,"character":9}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7FormulaO5valueSdvp","interfaceLanguage":"swift"},"pathComponents":["Formula","value"],"names":{"title":"value","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":133,"character":15}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8simplifyyAA7FormulaOADF","interfaceLanguage":"swift"},"pathComponents":["simplify(_:)"],"names":{"title":"simplify(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simplify"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]},"functionSignature":{"parameters":[{"name":"formula","declarationFragments":[{"kind":"identifier","spelling":"formula"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simplify"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"formula"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":142,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7PayloadO","interfaceLanguage":"swift"},"pathComponents":["Payload"],"names":{"title":"Payload","navigator":[{"kind":"identifier","spelling":"Payload"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Payload"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Payload"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":144,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","tracker(_:)"],"names":{"title":"Payload.tracker(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tracker"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tracker"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":145,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","point(_:)"],"names":{"title":"Payload.point(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":146,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","flavor(_:)"],"names":{"title":"Payload.flavor(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flavor"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flavor"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":147,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","maybe(_:)"],"names":{"title":"Payload.maybe(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maybe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?)"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maybe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?)"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":148,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","names(_:)"],"names":{"title":"Payload.names(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":149,"character":9}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4echoyAA7PayloadOADF","interfaceLanguage":"swift"},"pathComponents":["echo(_:)"],"names":{"title":"echo(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echo"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]},"functionSignature":{"parameters":[{"name":"payload","declarationFragments":[{"kind":"identifier","spelling":"payload"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echo"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"payload"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":152,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo3JobO","interfaceLanguage":"swift"},"pathComponents":["Job"],"names":{"title":"Job","navigator":[{"kind":"identifier","spelling":"Job"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Job"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Job"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":155,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo3JobO3runyACyyccACmF","interfaceLanguage":"swift"},"pathComponents":["Job","run(_:)"],"names":{"title":"Job.run(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"run"},{"kind":"text","spelling":"(() -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"run"},{"kind":"text","spelling":"(() -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":156,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo3JobO4idleyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Job","idle"],"names":{"title":"Job.idle","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"idle"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"idle"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":157,"character":9}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket"],"names":{"title":"Job.Ticket","navigator":[{"kind":"identifier","spelling":"Ticket"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ticket"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ticket"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":159,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV2idSivp","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket","id"],"names":{"title":"id","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":160,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV2idAESi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket","init(id:)"],"names":{"title":"init(id:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":161,"character":15}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4bumpyySizF","interfaceLanguage":"swift"},"pathComponents":["bump(_:)"],"names":{"title":"bump(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bump"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bump"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":165,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo6append_2toySS_SaySSGztF","interfaceLanguage":"swift"},"pathComponents":["append(_:to:)"],"names":{"title":"append(_:to:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"append"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}]},"functionSignature":{"parameters":[{"name":"word","declarationFragments":[{"kind":"identifier","spelling":"word"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"to","internalName":"words","declarationFragments":[{"kind":"identifier","spelling":"words"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"append"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"word"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"words"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":166,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5halveyySizKF","interfaceLanguage":"swift"},"pathComponents":["halve(_:)"],"names":{"title":"halve(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"halve"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"halve"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":167,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5clearyySSSgzF","interfaceLanguage":"swift"},"pathComponents":["clear(_:)"],"names":{"title":"clear(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?)"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?)"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":171,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12swapTrackersyyAA7TrackerCz_ADztF","interfaceLanguage":"swift"},"pathComponents":["swapTrackers(_:_:)"],"names":{"title":"swapTrackers(_:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapTrackers"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"a","declarationFragments":[{"kind":"identifier","spelling":"a"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},{"name":"b","declarationFragments":[{"kind":"identifier","spelling":"b"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapTrackers"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"a"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"b"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":172,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8describeySSSo6UIViewCF","interfaceLanguage":"swift"},"pathComponents":["describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"view","declarationFragments":[{"kind":"identifier","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":5,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9makeLabelySo7UILabelCSSF","interfaceLanguage":"swift"},"pathComponents":["makeLabel(_:)"],"names":{"title":"makeLabel(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeLabel"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeLabel"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":7,"character":23}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF","interfaceLanguage":"swift"},"pathComponents":["tags(_:)"],"names":{"title":"tags(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"views","declarationFragments":[{"kind":"identifier","spelling":"views"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"views"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":13,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF","interfaceLanguage":"swift"},"pathComponents":["firstSubview(of:)"],"names":{"title":"firstSubview(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"firstSubview"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"view","declarationFragments":[{"kind":"identifier","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"firstSubview"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":15,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"c:@M@SwiftDemo@objc(cs)Note","interfaceLanguage":"swift"},"pathComponents":["Note"],"names":{"title":"Note","navigator":[{"kind":"identifier","spelling":"Note"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":17,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4NoteC4textSSvp","interfaceLanguage":"swift"},"pathComponents":["Note","text"],"names":{"title":"text","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":18,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo4NoteC4textACSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Note","init(text:)"],"names":{"title":"init(text:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":19,"character":11}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8makeNoteyAA0D0CSSF","interfaceLanguage":"swift"},"pathComponents":["makeNote(_:)"],"names":{"title":"makeNote(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeNote"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeNote"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":22,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4text2ofSSAA4NoteC_tF","interfaceLanguage":"swift"},"pathComponents":["text(of:)"],"names":{"title":"text(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"note","declarationFragments":[{"kind":"identifier","spelling":"note"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"note"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":23,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9noteLateryAA4NoteCSSYaF","interfaceLanguage":"swift"},"pathComponents":["noteLater(_:)"],"names":{"title":"noteLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"noteLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"noteLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":25,"character":12}}}],"relationships":[{"kind":"requirementOf","source":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","target":"s:9SwiftDemo7GreeterP"},{"kind":"conformsTo","source":"s:9SwiftDemo0B0C","target":"s:9SwiftDemo7GreeterP"},{"kind":"memberOf","source":"s:9SwiftDemo0B0CACycfc","target":"s:9SwiftDemo0B0C"},{"kind":"memberOf","source":"s:9SwiftDemo0B0C5greet4nameS2S_tF","target":"s:9SwiftDemo0B0C","sourceOrigin":{"identifier":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","displayName":"Greeter.greet(name:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1xSdvp","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1ySdvp","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1x1yACSd_Sdtcfc","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO7vanillayA2CmF","target":"s:9SwiftDemo6FlavorO"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO9chocolateyA2CmF","target":"s:9SwiftDemo6FlavorO"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:9SwiftDemo0B0C5greet4name5timesS2S_SitF","target":"s:9SwiftDemo0B0C"},{"kind":"memberOf","source":"s:9SwiftDemo0B0C7versionSSvpZ","target":"s:9SwiftDemo0B0C"},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s9EscapableP","targetFallback":"Swift.Escapable"},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s8CopyableP","targetFallback":"Swift.Copyable"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV11descriptionSSvp","target":"s:9SwiftDemo5PointV","sourceOrigin":{"identifier":"s:s23CustomStringConvertibleP11descriptionSSvp","displayName":"CustomStringConvertible.description"}},{"kind":"memberOf","source":"s:9SwiftDemo5PointV6lengthSdvp","target":"s:9SwiftDemo5PointV"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s9EscapableP","targetFallback":"Swift.Escapable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s8CopyableP","targetFallback":"Swift.Copyable"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO11descriptionSSvp","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:s23CustomStringConvertibleP11descriptionSSvp","displayName":"CustomStringConvertible.description"}},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF","target":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF","target":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp","target":"s:9SwiftDemo7PolygonC7MetricsV"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc","target":"s:9SwiftDemo7PolygonC7MetricsV"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5styleAC5StyleOvp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"requirementOf","source":"s:9SwiftDemo8GreetingP4nameSSvp","target":"s:9SwiftDemo8GreetingP"},{"kind":"requirementOf","source":"s:9SwiftDemo8GreetingP11punctuationSSvp","target":"s:9SwiftDemo8GreetingP"},{"kind":"requirementOf","source":"s:9SwiftDemo8GreetingP5greetyS2SF","target":"s:9SwiftDemo8GreetingP"},{"kind":"requirementOf","source":"s:9SwiftDemo8GreetingP5resetyyF","target":"s:9SwiftDemo8GreetingP"},{"kind":"requirementOf","source":"s:9SwiftDemo6ScorerP5scoreyS2iKF","target":"s:9SwiftDemo6ScorerP"},{"kind":"conformsTo","source":"s:9SwiftDemo12RankedScorerP","target":"s:9SwiftDemo6ScorerP"},{"kind":"requirementOf","source":"s:9SwiftDemo12RankedScorerP4rankSiSgvp","target":"s:9SwiftDemo12RankedScorerP"},{"kind":"memberOf","source":"s:9SwiftDemo8GreetingPAAE5shoutyS2SF","target":"s:9SwiftDemo8GreetingP"},{"kind":"memberOf","source":"s:9SwiftDemo8GreetingPAAE5shoutyS2SF::SYNTHESIZED::s:9SwiftDemo14FormalGreetingC","target":"s:9SwiftDemo14FormalGreetingC","sourceOrigin":{"identifier":"s:9SwiftDemo8GreetingPAAE5shoutyS2SF","displayName":"Greeting.shout(_:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo14FormalGreetingC","target":"s:9SwiftDemo8GreetingP"},{"kind":"memberOf","source":"s:9SwiftDemo14FormalGreetingC4nameSSvp","target":"s:9SwiftDemo14FormalGreetingC","sourceOrigin":{"identifier":"s:9SwiftDemo8GreetingP4nameSSvp","displayName":"Greeting.name"}},{"kind":"memberOf","source":"s:9SwiftDemo14FormalGreetingC11punctuationSSvp","target":"s:9SwiftDemo14FormalGreetingC","sourceOrigin":{"identifier":"s:9SwiftDemo8GreetingP11punctuationSSvp","displayName":"Greeting.punctuation"}},{"kind":"memberOf","source":"s:9SwiftDemo14FormalGreetingC4nameACSS_tcfc","target":"s:9SwiftDemo14FormalGreetingC"},{"kind":"memberOf","source":"s:9SwiftDemo14FormalGreetingC5greetyS2SF","target":"s:9SwiftDemo14FormalGreetingC","sourceOrigin":{"identifier":"s:9SwiftDemo8GreetingP5greetyS2SF","displayName":"Greeting.greet(_:)"}},{"kind":"memberOf","source":"s:9SwiftDemo14FormalGreetingC5resetyyF","target":"s:9SwiftDemo14FormalGreetingC","sourceOrigin":{"identifier":"s:9SwiftDemo8GreetingP5resetyyF","displayName":"Greeting.reset()"}},{"kind":"conformsTo","source":"s:9SwiftDemo14DoublingScorerV","target":"s:9SwiftDemo6ScorerP"},{"kind":"memberOf","source":"s:9SwiftDemo14DoublingScorerVACycfc","target":"s:9SwiftDemo14DoublingScorerV"},{"kind":"memberOf","source":"s:9SwiftDemo14DoublingScorerV5scoreyS2iF","target":"s:9SwiftDemo14DoublingScorerV","sourceOrigin":{"identifier":"s:9SwiftDemo6ScorerP5scoreyS2iKF","displayName":"Scorer.score(_:)"}},{"kind":"memberOf","source":"s:9SwiftDemo14GreetingHolderC8greetingAA0C0_pSgvp","target":"s:9SwiftDemo14GreetingHolderC"},{"kind":"memberOf","source":"s:9SwiftDemo14GreetingHolderCACycfc","target":"s:9SwiftDemo14GreetingHolderC"},{"kind":"memberOf","source":"s:9SwiftDemo14GreetingHolderC5greetySSSgSSF","target":"s:9SwiftDemo14GreetingHolderC"},{"kind":"conformsTo","source":"s:9SwiftDemo5ShapeP","target":"s:9SwiftDemo7GreeterP"},{"kind":"requirementOf","source":"s:9SwiftDemo5ShapeP4areaSdvp","target":"s:9SwiftDemo5ShapeP"},{"kind":"requirementOf","source":"s:9SwiftDemo5ShapeP5sidesSivpZ","target":"s:9SwiftDemo5ShapeP"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4nameSSvp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC11vertexCountSivp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC6sharedACvpZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4nameACSgSS_tcfc","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale2byySd_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale2byySi_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4makeACyFZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC8describeySSACSgFZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonCyAA5PointVSicip","target":"s:9SwiftDemo7PolygonC"},{"kind":"conformsTo","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo5ShapeP"},{"kind":"conformsTo","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo7GreeterP"},{"kind":"inheritsFrom","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4sideSdvp","target":"s:9SwiftDemo6SquareC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4sideACSd_tcfc","target":"s:9SwiftDemo6SquareC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4areaSdvp","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo5ShapeP4areaSdvp","displayName":"Shape.area"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5sidesSivpZ","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo5ShapeP5sidesSivpZ","displayName":"Shape.sides"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5greet4nameS2S_tF","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","displayName":"Greeter.greet(name:)"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5scale2byySd_tF","target":"s:9SwiftDemo6SquareC"},{"kind":"overrides","source":"s:9SwiftDemo6SquareC5scale2byySd_tF","target":"s:9SwiftDemo7PolygonC5scale2byySd_tF"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4rainyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4snowyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4noneyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO","target":"s:9SwiftDemo10ShapeErrorO","sourceOrigin":{"identifier":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp","displayName":"Error.localizedDescription"}},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s5ErrorP","targetFallback":"Swift.Error"},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO7unknownyA2CmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO6lengthyACSdcACmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4noneyA2CmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp","target":"s:9SwiftDemo11MeasurementO4UnitV"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc","target":"s:9SwiftDemo11MeasurementO4UnitV"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO6isNoneSbvp","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5innerAA5PointVvp","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5outerAA5PointVvp","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV6expand2byySd_tF","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV1poiyA2C_ACtFZ","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF","displayName":"Actor.withSerialExecutor(_:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF","displayName":"Actor.withSerialExecutor(_:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF","displayName":"Actor.preconditionIsolated(_:file:line:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF","displayName":"Actor.assertIsolated(_:file:line:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF","displayName":"Actor.assumeIsolated(_:file:line:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:ScA","targetFallback":"_Concurrency.Actor"},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC5valueSivp","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC4stepSivp","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterCACycfc","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC9incrementSiyF","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC5labelSSyF","target":"s:9SwiftDemo7CounterC"},{"kind":"conformsTo","source":"s:9SwiftDemo6CanvasC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"memberOf","source":"s:9SwiftDemo6CanvasCACycfc","target":"s:9SwiftDemo6CanvasC"},{"kind":"memberOf","source":"s:9SwiftDemo6CanvasC4drawyyAA5Shape_pF","target":"s:9SwiftDemo6CanvasC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderCACycfc","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC14withCompletionyyys6ResultOySSAA10ShapeErrorOGcF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4eachyyySiXEF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC6updateyyAA5PointVzF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC10modernOnlyyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC11legacyFetchyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC8oldFetchyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC9liveCountSivpZ","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC2idSivp","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC2idACSi_tcfc","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC4sameACyF","target":"s:9SwiftDemo7TrackerC"},{"kind":"conformsTo","source":"s:9SwiftDemo7PaletteC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC7strokesSivp","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteCACycfc","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC6strokeSiyF","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC11strokeLaterSiyYaF","target":"s:9SwiftDemo7PaletteC"},{"kind":"conformsTo","source":"s:9SwiftDemo8NotifierC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo8NotifierC","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierCACycfc","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC5countSivp","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC9subscribeyyySSYbcF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC7publishyySSF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC12publishLateryySSF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC5clearyyF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO6numberyACSdcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO6negateyA2CcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO5valueSdvp","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO3runyACyyccACmF","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO4idleyA2CmF","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV2idSivp","target":"s:9SwiftDemo3JobO6TicketV"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV2idAESi_tcfc","target":"s:9SwiftDemo3JobO6TicketV"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"c:objc(pl)NSObject","targetFallback":"ObjectiveC.NSObjectProtocol"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s7CVarArgP","targetFallback":"Swift.CVarArg"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s28CustomDebugStringConvertibleP","targetFallback":"Swift.CustomDebugStringConvertible"},{"kind":"inheritsFrom","source":"c:@M@SwiftDemo@objc(cs)Note","target":"c:objc(cs)NSObject","targetFallback":"ObjectiveC.NSObject"},{"kind":"memberOf","source":"s:9SwiftDemo4NoteC4textSSvp","target":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"memberOf","source":"s:9SwiftDemo4NoteC4textACSS_tcfc","target":"c:@M@SwiftDemo@objc(cs)Note"}]} \ No newline at end of file +{"metadata":{"formatVersion":{"major":0,"minor":6,"patch":0},"generator":"Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)"},"module":{"name":"SwiftDemo","platform":{"architecture":"arm64","environment":"simulator","vendor":"apple","operatingSystem":{"name":"ios","minimumVersion":{"major":15,"minor":0}}}},"symbols":[{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo7GreeterP","interfaceLanguage":"swift"},"pathComponents":["Greeter"],"names":{"title":"Greeter","navigator":[{"kind":"identifier","spelling":"Greeter"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeter"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeter"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":0,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Greeter","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":1,"character":9}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo0B0C","interfaceLanguage":"swift"},"pathComponents":["Demo"],"names":{"title":"Demo","navigator":[{"kind":"identifier","spelling":"Demo"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Demo"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Demo"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":4,"character":13}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo0B0CACycfc","interfaceLanguage":"swift"},"pathComponents":["Demo","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":5,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo0B0C5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Demo","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":6,"character":16}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo5PointV","interfaceLanguage":"swift"},"pathComponents":["Point"],"names":{"title":"Point","navigator":[{"kind":"identifier","spelling":"Point"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Point"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Point"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":9,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV1xSdvp","interfaceLanguage":"swift"},"pathComponents":["Point","x"],"names":{"title":"x","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":10,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV1ySdvp","interfaceLanguage":"swift"},"pathComponents":["Point","y"],"names":{"title":"y","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":11,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo5PointV1x1yACSd_Sdtcfc","interfaceLanguage":"swift"},"pathComponents":["Point","init(x:y:)"],"names":{"title":"init(x:y:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"x","declarationFragments":[{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"y","declarationFragments":[{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":12,"character":11}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor"],"names":{"title":"Flavor","navigator":[{"kind":"identifier","spelling":"Flavor"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Flavor"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Flavor"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo6FlavorO","interfaceLanguage":"swift"},"pathComponents":["Flavor","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo6FlavorO7vanillayA2CmF","interfaceLanguage":"swift"},"pathComponents":["Flavor","vanilla"],"names":{"title":"Flavor.vanilla","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vanilla"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vanilla"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":31}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo6FlavorO9chocolateyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Flavor","chocolate"],"names":{"title":"Flavor.chocolate","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"chocolate"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"chocolate"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Demo.swift","position":{"line":15,"character":44}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Flavor","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo0B0C5greet4name5timesS2S_SitF","interfaceLanguage":"swift"},"pathComponents":["Demo","greet(name:times:)"],"names":{"title":"greet(name:times:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"times","declarationFragments":[{"kind":"identifier","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"times"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":1,"character":16}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo0B0C7versionSSvpZ","interfaceLanguage":"swift"},"pathComponents":["Demo","version"],"names":{"title":"version","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":5,"character":22}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV11descriptionSSvp","interfaceLanguage":"swift"},"pathComponents":["Point","description"],"names":{"title":"description","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":9,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5PointV6lengthSdvp","interfaceLanguage":"swift"},"pathComponents":["Point","length"],"names":{"title":"length","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.struct"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":10,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6FlavorO11descriptionSSvp","interfaceLanguage":"swift"},"pathComponents":["Flavor","description"],"names":{"title":"description","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.enum"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"description"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":14,"character":15}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style"],"names":{"title":"Polygon.Style","navigator":[{"kind":"identifier","spelling":"Style"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Style"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Style"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","solid"],"names":{"title":"Polygon.Style.solid","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"solid"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"solid"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":37}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","dashed"],"names":{"title":"Polygon.Style.dashed","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dashed"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dashed"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":31,"character":44}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","Style","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics"],"names":{"title":"Polygon.Metrics","navigator":[{"kind":"identifier","spelling":"Metrics"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Metrics"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Metrics"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":33,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics","perimeter"],"names":{"title":"perimeter","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":34,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","Metrics","init(perimeter:)"],"names":{"title":"init(perimeter:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"perimeter","declarationFragments":[{"kind":"identifier","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"perimeter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":35,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5styleAC5StyleOvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","style"],"names":{"title":"style","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"style"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Style","preciseIdentifier":"s:9SwiftDemo7PolygonC5StyleO"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"style"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Style","preciseIdentifier":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":38,"character":15}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","metrics(side:)"],"names":{"title":"metrics(side:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"metrics"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"."},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.class"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"metrics"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Metrics","preciseIdentifier":"s:9SwiftDemo7PolygonC7MetricsV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Extensions.swift","position":{"line":39,"character":16}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo10ThermostatC","interfaceLanguage":"swift"},"pathComponents":["Thermostat"],"names":{"title":"Thermostat","navigator":[{"kind":"identifier","spelling":"Thermostat"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Thermostat"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Thermostat"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":17,"minor":0}}],"location":{"uri":"file://Sources/SwiftDemo/Observing.swift","position":{"line":6,"character":31}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo10ThermostatC7celsiusSdvp","interfaceLanguage":"swift"},"pathComponents":["Thermostat","celsius"],"names":{"title":"celsius","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"celsius"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"celsius"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"set"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":17,"minor":0}}],"location":{"uri":"file://Sources/SwiftDemo/Observing.swift","position":{"line":7,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo10ThermostatC5labelSSvp","interfaceLanguage":"swift"},"pathComponents":["Thermostat","label"],"names":{"title":"label","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"set"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":17,"minor":0}}],"location":{"uri":"file://Sources/SwiftDemo/Observing.swift","position":{"line":8,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo10ThermostatCACycfc","interfaceLanguage":"swift"},"pathComponents":["Thermostat","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":17,"minor":0}}],"location":{"uri":"file://Sources/SwiftDemo/Observing.swift","position":{"line":10,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo10ThermostatC4warm2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Thermostat","warm(by:)"],"names":{"title":"warm(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"warm"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"delta","declarationFragments":[{"kind":"identifier","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"warm"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":17,"minor":0}}],"location":{"uri":"file://Sources/SwiftDemo/Observing.swift","position":{"line":12,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo10ThermostatC9warmLater2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Thermostat","warmLater(by:)"],"names":{"title":"warmLater(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"warmLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"delta","declarationFragments":[{"kind":"identifier","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"warmLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":17,"minor":0}}],"location":{"uri":"file://Sources/SwiftDemo/Observing.swift","position":{"line":14,"character":16}}},{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo8GreetingP","interfaceLanguage":"swift"},"pathComponents":["Greeting"],"names":{"title":"Greeting","navigator":[{"kind":"identifier","spelling":"Greeting"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeting"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Greeting"},{"kind":"text","spelling":" : AnyObject"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":2,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo8GreetingP4nameSSvp","interfaceLanguage":"swift"},"pathComponents":["Greeting","name"],"names":{"title":"name","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":3,"character":8}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo8GreetingP11punctuationSSvp","interfaceLanguage":"swift"},"pathComponents":["Greeting","punctuation"],"names":{"title":"punctuation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"punctuation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"punctuation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"set"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":4,"character":8}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8GreetingP5greetyS2SF","interfaceLanguage":"swift"},"pathComponents":["Greeting","greet(_:)"],"names":{"title":"greet(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":5,"character":9}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8GreetingP5resetyyF","interfaceLanguage":"swift"},"pathComponents":["Greeting","reset()"],"names":{"title":"reset()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"reset"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"reset"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":6,"character":9}}},{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo6ScorerP","interfaceLanguage":"swift"},"pathComponents":["Scorer"],"names":{"title":"Scorer","navigator":[{"kind":"identifier","spelling":"Scorer"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Scorer"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Scorer"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":9,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6ScorerP5scoreyS2iKF","interfaceLanguage":"swift"},"pathComponents":["Scorer","score(_:)"],"names":{"title":"score(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"score"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"score"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":10,"character":9}}},{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo12RankedScorerP","interfaceLanguage":"swift"},"pathComponents":["RankedScorer"],"names":{"title":"RankedScorer","navigator":[{"kind":"identifier","spelling":"RankedScorer"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RankedScorer"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RankedScorer"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":14,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo12RankedScorerP4rankSiSgvp","interfaceLanguage":"swift"},"pathComponents":["RankedScorer","rank"],"names":{"title":"rank","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rank"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rank"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"? { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":15,"character":8}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8GreetingPAAE5shoutyS2SF","interfaceLanguage":"swift"},"pathComponents":["Greeting","shout(_:)"],"names":{"title":"shout(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":19,"character":16}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting"],"names":{"title":"FormalGreeting","navigator":[{"kind":"identifier","spelling":"FormalGreeting"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FormalGreeting"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FormalGreeting"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":22,"character":19}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8GreetingPAAE5shoutyS2SF::SYNTHESIZED::s:9SwiftDemo14FormalGreetingC","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","shout(_:)"],"names":{"title":"shout(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"swiftExtension":{"extendedModule":"SwiftDemo","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":19,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC4nameSSvp","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","name"],"names":{"title":"name","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":23,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC11punctuationSSvp","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","punctuation"],"names":{"title":"punctuation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"punctuation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"punctuation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":24,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC4nameACSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","init(name:)"],"names":{"title":"init(name:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":25,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC5greetyS2SF","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","greet(_:)"],"names":{"title":"greet(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":26,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo14FormalGreetingC5resetyyF","interfaceLanguage":"swift"},"pathComponents":["FormalGreeting","reset()"],"names":{"title":"reset()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"reset"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"reset"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":27,"character":16}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo14DoublingScorerV","interfaceLanguage":"swift"},"pathComponents":["DoublingScorer"],"names":{"title":"DoublingScorer","navigator":[{"kind":"identifier","spelling":"DoublingScorer"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"DoublingScorer"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"DoublingScorer"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":30,"character":14}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo14DoublingScorerVACycfc","interfaceLanguage":"swift"},"pathComponents":["DoublingScorer","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":31,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo14DoublingScorerV5scoreyS2iF","interfaceLanguage":"swift"},"pathComponents":["DoublingScorer","score(_:)"],"names":{"title":"score(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"score"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"score"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":32,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9introduce_2toSSAA8Greeting_p_SStF","interfaceLanguage":"swift"},"pathComponents":["introduce(_:to:)"],"names":{"title":"introduce(_:to:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"introduce"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"greeting","declarationFragments":[{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]},{"name":"to","internalName":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"introduce"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":35,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12makeGreetingyAA0D0_pSSF","interfaceLanguage":"swift"},"pathComponents":["makeGreeting(_:)"],"names":{"title":"makeGreeting(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeGreeting"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"any "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeGreeting"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":39,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4sameyAA8Greeting_pAaC_pF","interfaceLanguage":"swift"},"pathComponents":["same(_:)"],"names":{"title":"same(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":") -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]},"functionSignature":{"parameters":[{"name":"greeting","declarationFragments":[{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]}],"returns":[{"kind":"text","spelling":"any "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":") -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":40,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo6exciteyyAA8Greeting_pF","interfaceLanguage":"swift"},"pathComponents":["excite(_:)"],"names":{"title":"excite(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"excite"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"greeting","declarationFragments":[{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"excite"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":41,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8scoreAllySaySiGAA6Scorer_p_ACtKF","interfaceLanguage":"swift"},"pathComponents":["scoreAll(_:_:)"],"names":{"title":"scoreAll(_:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scoreAll"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"},{"kind":"text","spelling":", ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"scorer","declarationFragments":[{"kind":"identifier","spelling":"scorer"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"}]},{"name":"values","declarationFragments":[{"kind":"identifier","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scoreAll"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"scorer"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":42,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10makeScorerAA0D0_pyF","interfaceLanguage":"swift"},"pathComponents":["makeScorer()"],"names":{"title":"makeScorer()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeScorer"},{"kind":"text","spelling":"() -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"any "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeScorer"},{"kind":"text","spelling":"() -> "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Scorer","preciseIdentifier":"s:9SwiftDemo6ScorerP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":45,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7topRankySSAA12RankedScorer_pKF","interfaceLanguage":"swift"},"pathComponents":["topRank(_:)"],"names":{"title":"topRank(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"topRank"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"RankedScorer","preciseIdentifier":"s:9SwiftDemo12RankedScorerP"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"scorer","declarationFragments":[{"kind":"identifier","spelling":"scorer"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"RankedScorer","preciseIdentifier":"s:9SwiftDemo12RankedScorerP"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"topRank"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"scorer"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"RankedScorer","preciseIdentifier":"s:9SwiftDemo12RankedScorerP"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":46,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo17greetInBackgroundySSAA8Greeting_pYaF","interfaceLanguage":"swift"},"pathComponents":["greetInBackground(_:)"],"names":{"title":"greetInBackground(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetInBackground"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"greeting","declarationFragments":[{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetInBackground"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"greeting"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":55,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo14GreetingHolderC","interfaceLanguage":"swift"},"pathComponents":["GreetingHolder"],"names":{"title":"GreetingHolder","navigator":[{"kind":"identifier","spelling":"GreetingHolder"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"GreetingHolder"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"GreetingHolder"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":60,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo14GreetingHolderC8greetingAA0C0_pSgvp","interfaceLanguage":"swift"},"pathComponents":["GreetingHolder","greeting"],"names":{"title":"greeting","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":")?"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greeting"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Greeting","preciseIdentifier":"s:9SwiftDemo8GreetingP"},{"kind":"text","spelling":")?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":61,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo14GreetingHolderCACycfc","interfaceLanguage":"swift"},"pathComponents":["GreetingHolder","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":62,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo14GreetingHolderC5greetySSSgSSF","interfaceLanguage":"swift"},"pathComponents":["GreetingHolder","greet(_:)"],"names":{"title":"greet(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"other","declarationFragments":[{"kind":"identifier","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"other"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Protocols.swift","position":{"line":63,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF","interfaceLanguage":"swift"},"pathComponents":["starterWallet(for:)"],"names":{"title":"starterWallet(for:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"starterWallet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"for"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}]},"functionSignature":{"parameters":[{"name":"for","internalName":"owner","declarationFragments":[{"kind":"identifier","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"starterWallet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"for"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"owner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Wallet","preciseIdentifier":"s:12SwiftDemoKit6WalletC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":4,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF","interfaceLanguage":"swift"},"pathComponents":["sum(of:)"],"names":{"title":"sum(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"amounts","declarationFragments":[{"kind":"identifier","spelling":"amounts"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"amounts"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":10,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4flipy0aB3Kit4CoinOAEF","interfaceLanguage":"swift"},"pathComponents":["flip(_:)"],"names":{"title":"flip(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flip"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]},"functionSignature":{"parameters":[{"name":"coin","declarationFragments":[{"kind":"identifier","spelling":"coin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flip"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"coin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Coin","preciseIdentifier":"s:12SwiftDemoKit4CoinO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":14,"character":12}}},{"kind":{"identifier":"swift.typealias","displayName":"Type Alias"},"identifier":{"precise":"s:9SwiftDemo5Scorea","interfaceLanguage":"swift"},"pathComponents":["Score"],"names":{"title":"Score","navigator":[{"kind":"identifier","spelling":"Score"}],"subHeading":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Score"}]},"declarationFragments":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Score"},{"kind":"text","spelling":" = "},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":25,"character":17}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9makeScorey0aB3Kit4PairVySSSiGSS_SitF","interfaceLanguage":"swift"},"pathComponents":["makeScore(_:_:)"],"names":{"title":"makeScore(_:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeScore"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Score","preciseIdentifier":"s:9SwiftDemo5Scorea"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"points","declarationFragments":[{"kind":"identifier","spelling":"points"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Score","preciseIdentifier":"s:9SwiftDemo5Scorea"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeScore"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"points"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Score","preciseIdentifier":"s:9SwiftDemo5Scorea"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":27,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8describeySS0aB3Kit4PairVySiSSGF","interfaceLanguage":"swift"},"pathComponents":["describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"pair","declarationFragments":[{"kind":"identifier","spelling":"pair"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":">"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"pair"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Pair","preciseIdentifier":"s:12SwiftDemoKit4PairV"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":28,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5boxedy0aB3Kit3BoxCyAC5MoneyVGAGF","interfaceLanguage":"swift"},"pathComponents":["boxed(_:)"],"names":{"title":"boxed(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"boxed"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":">"}]},"functionSignature":{"parameters":[{"name":"money","declarationFragments":[{"kind":"identifier","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":">"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"boxed"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"money"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Money","preciseIdentifier":"s:12SwiftDemoKit5MoneyV"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":29,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8countBoxy0aB3Kit0D0CySiGSiF","interfaceLanguage":"swift"},"pathComponents":["countBox(_:)"],"names":{"title":"countBox(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countBox"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countBox"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Box","preciseIdentifier":"s:12SwiftDemoKit3BoxC"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":30,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo6settley0aB3Kit7OutcomeOySiGSiF","interfaceLanguage":"swift"},"pathComponents":["settle(_:)"],"names":{"title":"settle(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settle"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Outcome","preciseIdentifier":"s:12SwiftDemoKit7OutcomeO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Outcome","preciseIdentifier":"s:12SwiftDemoKit7OutcomeO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settle"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Outcome","preciseIdentifier":"s:12SwiftDemoKit7OutcomeO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":">"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Purse.swift","position":{"line":31,"character":12}}},{"kind":{"identifier":"swift.protocol","displayName":"Protocol"},"identifier":{"precise":"s:9SwiftDemo5ShapeP","interfaceLanguage":"swift"},"pathComponents":["Shape"],"names":{"title":"Shape","navigator":[{"kind":"identifier","spelling":"Shape"}],"subHeading":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Shape"}]},"declarationFragments":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Shape"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Greeter","preciseIdentifier":"s:9SwiftDemo7GreeterP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":2,"character":16}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo5ShapeP4areaSdvp","interfaceLanguage":"swift"},"pathComponents":["Shape","area"],"names":{"title":"area","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":3,"character":8}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo5ShapeP5sidesSivpZ","interfaceLanguage":"swift"},"pathComponents":["Shape","sides"],"names":{"title":"sides","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":4,"character":15}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7PolygonC","interfaceLanguage":"swift"},"pathComponents":["Polygon"],"names":{"title":"Polygon","navigator":[{"kind":"identifier","spelling":"Polygon"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Polygon"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Polygon"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":7,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4nameSSvp","interfaceLanguage":"swift"},"pathComponents":["Polygon","name"],"names":{"title":"name","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":8,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC11vertexCountSivp","interfaceLanguage":"swift"},"pathComponents":["Polygon","vertexCount"],"names":{"title":"vertexCount","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":9,"character":28}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo7PolygonC6sharedACvpZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","shared"],"names":{"title":"shared","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shared"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shared"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":10,"character":22}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","init(name:vertexCount:)"],"names":{"title":"init(name:vertexCount:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"vertexCount","declarationFragments":[{"kind":"identifier","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"vertexCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":12,"character":11}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4nameACSgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Polygon","init(name:)"],"names":{"title":"init(name:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"convenience"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":17,"character":23}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":22,"character":14}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale2byySi_tF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"open","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":23,"character":14}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF","interfaceLanguage":"swift"},"pathComponents":["Polygon","scale(x:y:)"],"names":{"title":"scale(x:y:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"x","declarationFragments":[{"kind":"identifier","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"y","declarationFragments":[{"kind":"identifier","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"x"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"y"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":24,"character":16}}},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC4makeACyFZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","make()"],"names":{"title":"make()","subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"make"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}]},"declarationFragments":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"make"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":26,"character":22}}},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:9SwiftDemo7PolygonC8describeySSACSgFZ","interfaceLanguage":"swift"},"pathComponents":["Polygon","describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"polygon","declarationFragments":[{"kind":"identifier","spelling":"polygon"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"polygon"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Polygon","preciseIdentifier":"s:9SwiftDemo7PolygonC"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":27,"character":23}}},{"kind":{"identifier":"swift.subscript","displayName":"Instance Subscript"},"identifier":{"precise":"s:9SwiftDemo7PolygonCyAA5PointVSicip","interfaceLanguage":"swift"},"pathComponents":["Polygon","subscript(_:)"],"names":{"title":"subscript(_:)","subHeading":[{"kind":"keyword","spelling":"subscript"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"parameters":[{"name":"index","declarationFragments":[{"kind":"identifier","spelling":"index"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"subscript"},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"index"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":29,"character":11}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6SquareC","interfaceLanguage":"swift"},"pathComponents":["Square"],"names":{"title":"Square","navigator":[{"kind":"identifier","spelling":"Square"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Square"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Square"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":34,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC4sideSdvp","interfaceLanguage":"swift"},"pathComponents":["Square","side"],"names":{"title":"side","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":35,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6SquareC4sideACSd_tcfc","interfaceLanguage":"swift"},"pathComponents":["Square","init(side:)"],"names":{"title":"init(side:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":37,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC4areaSdvp","interfaceLanguage":"swift"},"pathComponents":["Square","area"],"names":{"title":"area","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":42,"character":15}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo6SquareC5sidesSivpZ","interfaceLanguage":"swift"},"pathComponents":["Square","sides"],"names":{"title":"sides","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sides"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":43,"character":22}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6SquareC5greet4nameS2S_tF","interfaceLanguage":"swift"},"pathComponents":["Square","greet(name:)"],"names":{"title":"greet(name:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greet"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":44,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6SquareC5scale2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Square","scale(by:)"],"names":{"title":"scale(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"factor","declarationFragments":[{"kind":"identifier","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"override"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"scale"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"factor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":46,"character":25}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation"],"names":{"title":"Precipitation","navigator":[{"kind":"identifier","spelling":"Precipitation"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Precipitation"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Precipitation"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":50,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","hashValue"],"names":{"title":"hashValue","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hashValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public"},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","hash(into:)"],"names":{"title":"hash(into:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"into","internalName":"hasher","declarationFragments":[{"kind":"identifier","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self","rhs":"Hashable","rhsPrecise":"s:SH"},{"kind":"conformance","lhs":"Self.RawValue","rhs":"Hashable","rhsPrecise":"s:SH"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Hasher","preciseIdentifier":"s:s6HasherV"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","!=(_:_:)"],"names":{"title":"!=(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"docComment":{"module":"Swift","lines":[{"text":"Returns a Boolean value indicating whether two values are not equal."},{"text":""},{"text":"Inequality is the inverse of equality. For any values `a` and `b`, `a != b`"},{"text":"implies that `a == b` is `false`."},{"text":""},{"text":"This is the default implementation of the not-equal-to operator (`!=`)"},{"text":"for any type that conforms to `Equatable`."},{"text":""},{"text":"- Parameters:"},{"text":" - lhs: A value to compare."},{"text":" - rhs: Another value to compare."}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Self"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"!="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"borrowing"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}],"accessLevel":"public"},{"kind":{"identifier":"swift.type.method","displayName":"Type Method"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","makeFromRawAttachmentValue(_:)"],"names":{"title":"makeFromRawAttachmentValue(_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"repr","declarationFragments":[{"kind":"identifier","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeFromRawAttachmentValue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"repr"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":"?"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","interfaceLanguage":"swift"},"pathComponents":["Precipitation","rawAttachmentValueRepresentation"],"names":{"title":"rawAttachmentValueRepresentation","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol","constraints":[{"kind":"conformance","lhs":"Self.RawValue","rhs":"CVAttachmentValueRepresentable","rhsPrecise":"s:9CoreVideo30CVAttachmentValueRepresentableP"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rawAttachmentValueRepresentation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"CVAttachmentRawValue","preciseIdentifier":"s:9CoreVideo20CVAttachmentRawValueV"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":27,"minor":0}},{"domain":"macOS","introduced":{"major":27,"minor":0}},{"domain":"tvOS","introduced":{"major":27,"minor":0}},{"domain":"visionOS","introduced":{"major":27,"minor":0}},{"domain":"watchOS","introduced":{"major":27,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4rainyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","rain"],"names":{"title":"Precipitation.rain","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rain"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rain"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4snowyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","snow"],"names":{"title":"Precipitation.snow","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"snow"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"snow"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":15}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO4noneyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Precipitation","none"],"names":{"title":"Precipitation.none","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":51,"character":21}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Precipitation","init(rawValue:)"],"names":{"title":"init(rawValue:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"rawValue","declarationFragments":[{"kind":"identifier","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"?("},{"kind":"externalParam","spelling":"rawValue"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public"},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO","interfaceLanguage":"swift"},"pathComponents":["ShapeError"],"names":{"title":"ShapeError","navigator":[{"kind":"identifier","spelling":"ShapeError"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ShapeError"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ShapeError"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":54,"character":12}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO","interfaceLanguage":"swift"},"pathComponents":["ShapeError","localizedDescription"],"names":{"title":"localizedDescription","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localizedDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"docComment":{"module":"Foundation","lines":[{"text":"Retrieve the localized description for this error."}]},"swiftExtension":{"extendedModule":"Swift","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localizedDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":8,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":10}},{"domain":"tvOS","introduced":{"major":9,"minor":0}},{"domain":"watchOS","introduced":{"major":2,"minor":0}}]},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","invalidSide(_:)"],"names":{"title":"ShapeError.invalidSide(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":55,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","tooManySides(count:limit:)"],"names":{"title":"ShapeError.tooManySides(count:limit:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tooManySides"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tooManySides"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":56,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo10ShapeErrorO7unknownyA2CmF","interfaceLanguage":"swift"},"pathComponents":["ShapeError","unknown"],"names":{"title":"ShapeError.unknown","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unknown"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unknown"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":57,"character":9}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO","interfaceLanguage":"swift"},"pathComponents":["Measurement"],"names":{"title":"Measurement","navigator":[{"kind":"identifier","spelling":"Measurement"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Measurement"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Measurement"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":60,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO6lengthyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","length(_:)"],"names":{"title":"Measurement.length(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"length"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":61,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","area(width:height:)"],"names":{"title":"Measurement.area(width:height:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":62,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4noneyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Measurement","none"],"names":{"title":"Measurement.none","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"none"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":63,"character":9}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit"],"names":{"title":"Measurement.Unit","navigator":[{"kind":"identifier","spelling":"Unit"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Unit"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Unit"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":65,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit","symbol"],"names":{"title":"symbol","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":66,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Measurement","Unit","init(symbol:)"],"names":{"title":"init(symbol:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"symbol","declarationFragments":[{"kind":"identifier","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"symbol"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":67,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo11MeasurementO6isNoneSbvp","interfaceLanguage":"swift"},"pathComponents":["Measurement","isNone"],"names":{"title":"isNone","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isNone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isNone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":70,"character":15}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo4RingV","interfaceLanguage":"swift"},"pathComponents":["Ring"],"names":{"title":"Ring","navigator":[{"kind":"identifier","spelling":"Ring"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ring"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ring"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":76,"character":14}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4RingV5innerAA5PointVvp","interfaceLanguage":"swift"},"pathComponents":["Ring","inner"],"names":{"title":"inner","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":77,"character":15}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4RingV5outerAA5PointVvp","interfaceLanguage":"swift"},"pathComponents":["Ring","outer"],"names":{"title":"outer","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":78,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc","interfaceLanguage":"swift"},"pathComponents":["Ring","init(inner:outer:)"],"names":{"title":"init(inner:outer:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"inner","declarationFragments":[{"kind":"identifier","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},{"name":"outer","declarationFragments":[{"kind":"identifier","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"inner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outer"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":80,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo4RingV6expand2byySd_tF","interfaceLanguage":"swift"},"pathComponents":["Ring","expand(by:)"],"names":{"title":"expand(by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"by","internalName":"delta","declarationFragments":[{"kind":"identifier","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"mutating"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"delta"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":85,"character":25}}},{"kind":{"identifier":"swift.func.op","displayName":"Operator"},"identifier":{"precise":"s:9SwiftDemo4RingV1poiyA2C_ACtFZ","interfaceLanguage":"swift"},"pathComponents":["Ring","+(_:_:)"],"names":{"title":"+(_:_:)","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"+"},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},"functionSignature":{"parameters":[{"name":"lhs","declarationFragments":[{"kind":"identifier","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},{"name":"rhs","declarationFragments":[{"kind":"identifier","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"+"},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Ring","preciseIdentifier":"s:9SwiftDemo4RingV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":90,"character":23}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter"],"names":{"title":"Counter","navigator":[{"kind":"identifier","spelling":"Counter"}],"subHeading":[{"kind":"keyword","spelling":"actor"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Counter"}]},"declarationFragments":[{"kind":"keyword","spelling":"actor"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Counter"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":95,"character":13}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","withSerialExecutor(_:)"],"names":{"title":"withSerialExecutor(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">((any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Perform an operation with the actor's ``SerialExecutor``."},{"text":""},{"text":"This converts the actor's ``Actor/unownedExecutor`` to a ``SerialExecutor`` while"},{"text":"retaining the actor for the duration of the operation. This is to ensure the lifetime"},{"text":"of the executor while performing the operation."}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1},{"name":"E","index":1,"depth":1}],"constraints":[{"kind":"conformance","lhs":"E","rhs":"Error","rhsPrecise":"s:s5ErrorP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Error","preciseIdentifier":"s:s5ErrorP"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : ~Copyable"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","withSerialExecutor(_:)"],"names":{"title":"withSerialExecutor(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"keyword","spelling":"nonisolated(nonsending)"},{"kind":"text","spelling":" (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Perform an operation with the actor's ``SerialExecutor``."},{"text":""},{"text":"This converts the actor's ``Actor/unownedExecutor`` to a ``SerialExecutor`` while"},{"text":"retaining the actor for the duration of the operation. This is to ensure the lifetime"},{"text":"of the executor while performing the operation."}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1},{"name":"E","index":1,"depth":1}],"constraints":[{"kind":"conformance","lhs":"E","rhs":"Error","rhsPrecise":"s:s5ErrorP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withSerialExecutor"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"genericParameter","spelling":"E"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"nonisolated(nonsending)"},{"kind":"text","spelling":" (any "},{"kind":"typeIdentifier","spelling":"SerialExecutor","preciseIdentifier":"s:Scf"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"E"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Error","preciseIdentifier":"s:s5ErrorP"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : ~Copyable"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","preconditionIsolated(_:file:line:)"],"names":{"title":"preconditionIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preconditionIsolated"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":")"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Stops program execution if the current task is not executing on this"},{"text":"actor's serial executor."},{"text":""},{"text":"This function's effect varies depending on the build flag used:"},{"text":""},{"text":"* In playgrounds and `-Onone` builds (the default for Xcode's Debug"},{"text":" configuration), stops program execution in a debuggable state after"},{"text":" printing `message`."},{"text":""},{"text":"* In `-O` builds (the default for Xcode's Release configuration), stops"},{"text":" program execution."},{"text":""},{"text":"- Note: Because this check is performed against the actor's serial executor,"},{"text":" if another actor uses the same serial executor--by using"},{"text":" that actor's serial executor as its own ``Actor/unownedExecutor``--this"},{"text":" check will succeed. From a concurrency safety perspective, the"},{"text":" serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - message: The message to print if the assertion fails."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": () -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"text","spelling":"@backDeployed(before: macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0)\n"},{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preconditionIsolated"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" = String(), "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","assertIsolated(_:file:line:)"],"names":{"title":"assertIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assertIsolated"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":")"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Stops program execution if the current task is not executing on this"},{"text":"actor's serial executor."},{"text":""},{"text":"This function's effect varies depending on the build flag used:"},{"text":""},{"text":"* In playgrounds and `-Onone` builds (the default for Xcode's Debug"},{"text":" configuration), stops program execution in a debuggable state after"},{"text":" printing `message`."},{"text":""},{"text":"* In `-O` builds (the default for Xcode's Release configuration),"},{"text":" the isolation check is not performed and there are no effects."},{"text":""},{"text":"- Note: This check is performed against the actor's serial executor,"},{"text":" meaning that / if another actor uses the same serial executor--by using"},{"text":" that actor's serial executor as its own ``Actor/unownedExecutor``--this"},{"text":" check will succeed , as from a concurrency safety perspective, the"},{"text":" serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - message: The message to print if the assertion fails."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": () -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"text","spelling":"()"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"text","spelling":"@backDeployed(before: macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0)\n"},{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assertIsolated"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@autoclosure "},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" = String(), "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":")"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF::SYNTHESIZED::s:9SwiftDemo7CounterC","interfaceLanguage":"swift"},"pathComponents":["Counter","assumeIsolated(_:file:line:)"],"names":{"title":"assumeIsolated(_:file:line:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assumeIsolated"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">(("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"rethrows"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"}]},"docComment":{"module":"_Concurrency","lines":[{"text":"Assume that the current task is executing on this actor's serial executor,"},{"text":"or stop program execution otherwise."},{"text":""},{"text":"You call this method to *assume and verify* that the currently"},{"text":"executing synchronous function is actually executing on the serial"},{"text":"executor of this actor."},{"text":""},{"text":"If that is the case, the operation is invoked with an `isolated` version"},{"text":"of the actor, allowing synchronous access to actor local state without"},{"text":"hopping through asynchronous boundaries."},{"text":""},{"text":"If the current context is not running on the actor's serial executor, or"},{"text":"if the actor is a reference to a remote actor, this method will crash"},{"text":"with a fatal error (similar to ``preconditionIsolated(_:file:line:)``)."},{"text":""},{"text":"Note that this check is performed against the passed in actor's serial"},{"text":"executor, meaning that if another actor uses the same serial executor--by"},{"text":"using that actor's ``Actor/unownedExecutor`` as its own"},{"text":"``Actor/unownedExecutor``--this check will succeed, as from a concurrency"},{"text":"safety perspective, the serial executor guarantees mutual exclusion of"},{"text":"those two actors."},{"text":""},{"text":"This method can only be used from synchronous functions, as asynchronous"},{"text":"functions should instead perform a normal method call to the actor, which"},{"text":"will hop task execution to the target actor if necessary."},{"text":""},{"text":"- Note: This check is performed against the actor's serial executor,"},{"text":" meaning that / if another actor uses the same serial executor--by using"},{"text":" another actor's executor as its own ``Actor/unownedExecutor``"},{"text":" --this check will succeed , as from a concurrency safety perspective,"},{"text":" the serial executor guarantees mutual exclusion of those two actors."},{"text":""},{"text":"- Parameters:"},{"text":" - operation: the operation that will be executed if the current context"},{"text":" is executing on the actors serial executor."},{"text":" - file: The file name to print if the assertion fails. The default is"},{"text":" where this method was called."},{"text":" - line: The line number to print if the assertion fails The default is"},{"text":" where this method was called."},{"text":"- Returns: the return value of the `operation`"},{"text":"- Throws: rethrows the `Error` thrown by the operation if it threw"}]},"functionSignature":{"parameters":[{"name":"operation","declarationFragments":[{"kind":"identifier","spelling":"operation"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"}]},{"name":"file","declarationFragments":[{"kind":"identifier","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"}]},{"name":"line","declarationFragments":[{"kind":"identifier","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":1}],"constraints":[{"kind":"conformance","lhs":"T","rhs":"Sendable","rhsPrecise":"s:s8SendableP"}]},"swiftExtension":{"extendedModule":"_Concurrency","typeKind":"swift.protocol"},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"assumeIsolated"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"operation"},{"kind":"text","spelling":": ("},{"kind":"keyword","spelling":"isolated"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Self"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"file"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"StaticString","preciseIdentifier":"s:s12StaticStringV"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#fileID"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"line"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt","preciseIdentifier":"s:Su"},{"kind":"text","spelling":" = "},{"kind":"keyword","spelling":"#line"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"rethrows"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Sendable","preciseIdentifier":"s:s8SendableP"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":13,"minor":0}},{"domain":"macOS","introduced":{"major":10,"minor":15}},{"domain":"tvOS","introduced":{"major":13,"minor":0}},{"domain":"watchOS","introduced":{"major":6,"minor":0}}]},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7CounterC5valueSivp","interfaceLanguage":"swift"},"pathComponents":["Counter","value"],"names":{"title":"value","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":96,"character":28}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7CounterC4stepSivp","interfaceLanguage":"swift"},"pathComponents":["Counter","step"],"names":{"title":"step","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"step"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"step"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":97,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7CounterCACycfc","interfaceLanguage":"swift"},"pathComponents":["Counter","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":98,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7CounterC9incrementSiyF","interfaceLanguage":"swift"},"pathComponents":["Counter","increment()"],"names":{"title":"increment()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"increment"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"increment"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":99,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7CounterC5labelSSyF","interfaceLanguage":"swift"},"pathComponents":["Counter","label()"],"names":{"title":"label()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"attribute","spelling":"nonisolated"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":103,"character":28}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6CanvasC","interfaceLanguage":"swift"},"pathComponents":["Canvas"],"names":{"title":"Canvas","navigator":[{"kind":"identifier","spelling":"Canvas"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Canvas"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Canvas"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":107,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6CanvasCACycfc","interfaceLanguage":"swift"},"pathComponents":["Canvas","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":108,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6CanvasC4drawyyAA5Shape_pF","interfaceLanguage":"swift"},"pathComponents":["Canvas","draw(_:)"],"names":{"title":"draw(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draw"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"shape","declarationFragments":[{"kind":"identifier","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draw"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"any"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":109,"character":16}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo6LoaderC","interfaceLanguage":"swift"},"pathComponents":["Loader"],"names":{"title":"Loader","navigator":[{"kind":"identifier","spelling":"Loader"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Loader"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Loader"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":112,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo6LoaderCACycfc","interfaceLanguage":"swift"},"pathComponents":["Loader","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":113,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF","interfaceLanguage":"swift"},"pathComponents":["Loader","load(path:)"],"names":{"title":"load(path:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"load"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"functionSignature":{"parameters":[{"name":"path","declarationFragments":[{"kind":"identifier","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"load"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":115,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF","interfaceLanguage":"swift"},"pathComponents":["Loader","fetch(url:)"],"names":{"title":"fetch(url:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fetch"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"url","declarationFragments":[{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fetch"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":116,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF","interfaceLanguage":"swift"},"pathComponents":["Loader","wait(seconds:)"],"names":{"title":"wait(seconds:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wait"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"}]},"functionSignature":{"parameters":[{"name":"seconds","declarationFragments":[{"kind":"identifier","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wait"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":117,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF","interfaceLanguage":"swift"},"pathComponents":["Loader","transform(_:)"],"names":{"title":"transform(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transform"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"}]},"functionSignature":{"parameters":[{"name":"shape","declarationFragments":[{"kind":"identifier","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"}]}],"returns":[{"kind":"typeIdentifier","spelling":"T"}]},"swiftGenerics":{"parameters":[{"name":"T","index":0,"depth":0}],"constraints":[{"kind":"conformance","lhs":"T","rhs":"Shape","rhsPrecise":"s:9SwiftDemo5ShapeP"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transform"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"T"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"shape"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"T","preciseIdentifier":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF1TL_xmfp"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"where"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"T"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Shape","preciseIdentifier":"s:9SwiftDemo5ShapeP"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":119,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF","interfaceLanguage":"swift"},"pathComponents":["Loader","first(of:)"],"names":{"title":"first(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Element"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"items","declarationFragments":[{"kind":"identifier","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Element"},{"kind":"text","spelling":"?"}]},"swiftGenerics":{"parameters":[{"name":"Element","index":0,"depth":0}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"first"},{"kind":"text","spelling":"<"},{"kind":"genericParameter","spelling":"Element"},{"kind":"text","spelling":">("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Element","preciseIdentifier":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF7ElementL_xmfp"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":120,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC14withCompletionyyys6ResultOySSAA10ShapeErrorOGcF","interfaceLanguage":"swift"},"pathComponents":["Loader","withCompletion(_:)"],"names":{"title":"withCompletion(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withCompletion"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"completion","declarationFragments":[{"kind":"identifier","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withCompletion"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"Result","preciseIdentifier":"s:s6ResultO"},{"kind":"text","spelling":"<"},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":">) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":122,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC4eachyyySiXEF","interfaceLanguage":"swift"},"pathComponents":["Loader","each(_:)"],"names":{"title":"each(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"each"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"body","declarationFragments":[{"kind":"identifier","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"each"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":123,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF","interfaceLanguage":"swift"},"pathComponents":["Loader","lookup(table:key:)"],"names":{"title":"lookup(table:key:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lookup"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"table","declarationFragments":[{"kind":"identifier","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},{"name":"key","declarationFragments":[{"kind":"identifier","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lookup"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"key"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":125,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC6updateyyAA5PointVzF","interfaceLanguage":"swift"},"pathComponents":["Loader","update(_:)"],"names":{"title":"update(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"point","declarationFragments":[{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"point"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":127,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC10modernOnlyyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","modernOnly()"],"names":{"title":"modernOnly()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"modernOnly"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"modernOnly"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":16,"minor":0}}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":130,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC11legacyFetchyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","legacyFetch()"],"names":{"title":"legacyFetch()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"legacyFetch"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"legacyFetch"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"*","message":"Use fetch(url:) instead","isUnconditionallyDeprecated":true}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":133,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo6LoaderC8oldFetchyyF","interfaceLanguage":"swift"},"pathComponents":["Loader","oldFetch()"],"names":{"title":"oldFetch()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"oldFetch"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"oldFetch"},{"kind":"text","spelling":"()"}],"accessLevel":"public","availability":[{"domain":"iOS","introduced":{"major":15,"minor":0},"deprecated":{"major":17,"minor":0},"renamed":"fetch(url:)"}],"location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":136,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo16makeDefaultPointAA0E0VyF","interfaceLanguage":"swift"},"pathComponents":["makeDefaultPoint()"],"names":{"title":"makeDefaultPoint()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeDefaultPoint"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeDefaultPoint"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":139,"character":12}}},{"kind":{"identifier":"swift.var","displayName":"Global Variable"},"identifier":{"precise":"s:9SwiftDemo13defaultFlavorAA0D0Ovp","interfaceLanguage":"swift"},"pathComponents":["defaultFlavor"],"names":{"title":"defaultFlavor","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"defaultFlavor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"defaultFlavor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":140,"character":11}}},{"kind":{"identifier":"swift.var","displayName":"Global Variable"},"identifier":{"precise":"s:9SwiftDemo13globalCounterSivp","interfaceLanguage":"swift"},"pathComponents":["globalCounter"],"names":{"title":"globalCounter","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"globalCounter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"globalCounter"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":141,"character":11}}},{"kind":{"identifier":"swift.typealias","displayName":"Type Alias"},"identifier":{"precise":"s:9SwiftDemo11Coordinatesa","interfaceLanguage":"swift"},"pathComponents":["Coordinates"],"names":{"title":"Coordinates","navigator":[{"kind":"identifier","spelling":"Coordinates"}],"subHeading":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coordinates"}]},"declarationFragments":[{"kind":"keyword","spelling":"typealias"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Coordinates"},{"kind":"text","spelling":" = (latitude"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", longitude"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Shapes.swift","position":{"line":142,"character":17}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo11checkedSideyS2dKF","interfaceLanguage":"swift"},"pathComponents":["checkedSide(_:)"],"names":{"title":"checkedSide(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checkedSide"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"side","declarationFragments":[{"kind":"identifier","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checkedSide"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"side"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":5,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8echoInt8ys0D0VADF","interfaceLanguage":"swift"},"pathComponents":["echoInt8(_:)"],"names":{"title":"echoInt8(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoInt8"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoInt8"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int8","preciseIdentifier":"s:s4Int8V"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":10,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10echoUInt64ys0D0VADF","interfaceLanguage":"swift"},"pathComponents":["echoUInt64(_:)"],"names":{"title":"echoUInt64(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoUInt64"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echoUInt64"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UInt64","preciseIdentifier":"s:s6UInt64V"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":11,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10largestIntSiyF","interfaceLanguage":"swift"},"pathComponents":["largestInt()"],"names":{"title":"largestInt()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"largestInt"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"largestInt"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":12,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5shoutySSSgACF","interfaceLanguage":"swift"},"pathComponents":["shout(_:)"],"names":{"title":"shout(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shout"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":13,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7TrackerC","interfaceLanguage":"swift"},"pathComponents":["Tracker"],"names":{"title":"Tracker","navigator":[{"kind":"identifier","spelling":"Tracker"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Tracker"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Tracker"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":15,"character":19}}},{"kind":{"identifier":"swift.type.property","displayName":"Type Property"},"identifier":{"precise":"s:9SwiftDemo7TrackerC9liveCountSivpZ","interfaceLanguage":"swift"},"pathComponents":["Tracker","liveCount"],"names":{"title":"liveCount","subHeading":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"liveCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"liveCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":16,"character":35}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7TrackerC2idSivp","interfaceLanguage":"swift"},"pathComponents":["Tracker","id"],"names":{"title":"id","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":17,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7TrackerC2idACSi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Tracker","init(id:)"],"names":{"title":"init(id:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":19,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7TrackerC4sameACyF","interfaceLanguage":"swift"},"pathComponents":["Tracker","same()"],"names":{"title":"same()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"same"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":26,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo11delayedEcho_5afterS2S_SdtYaKF","interfaceLanguage":"swift"},"pathComponents":["delayedEcho(_:after:)"],"names":{"title":"delayedEcho(_:after:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delayedEcho"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"after","internalName":"seconds","declarationFragments":[{"kind":"identifier","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delayedEcho"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"seconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":29,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo16makeTrackerLater2idAA0D0CSi_tYaF","interfaceLanguage":"swift"},"pathComponents":["makeTrackerLater(id:)"],"names":{"title":"makeTrackerLater(id:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeTrackerLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeTrackerLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":35,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo7PaletteC","interfaceLanguage":"swift"},"pathComponents":["Palette"],"names":{"title":"Palette","navigator":[{"kind":"identifier","spelling":"Palette"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Palette"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Palette"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":41,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7PaletteC7strokesSivp","interfaceLanguage":"swift"},"pathComponents":["Palette","strokes"],"names":{"title":"strokes","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { get }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":42,"character":28}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo7PaletteCACycfc","interfaceLanguage":"swift"},"pathComponents":["Palette","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":43,"character":11}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PaletteC6strokeSiyF","interfaceLanguage":"swift"},"pathComponents":["Palette","stroke()"],"names":{"title":"stroke()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stroke"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stroke"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":44,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo7PaletteC11strokeLaterSiyYaF","interfaceLanguage":"swift"},"pathComponents":["Palette","strokeLater()"],"names":{"title":"strokeLater()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokeLater"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"strokeLater"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":48,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5namesySaySSGSiF","interfaceLanguage":"swift"},"pathComponents":["names(_:)"],"names":{"title":"names(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":54,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5totalySdSaySdGF","interfaceLanguage":"swift"},"pathComponents":["total(_:)"],"names":{"title":"total(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"total"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"values","declarationFragments":[{"kind":"identifier","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"total"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"values"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":55,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8centroid2ofAA5PointVSayAEG_tF","interfaceLanguage":"swift"},"pathComponents":["centroid(of:)"],"names":{"title":"centroid(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"centroid"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"points","declarationFragments":[{"kind":"identifier","spelling":"points"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"centroid"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"points"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":"]) -> "},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":56,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8mirroredySaySaySiGGADF","interfaceLanguage":"swift"},"pathComponents":["mirrored(_:)"],"names":{"title":"mirrored(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mirrored"},{"kind":"text","spelling":"([["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]) -> [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]},"functionSignature":{"parameters":[{"name":"grid","declarationFragments":[{"kind":"identifier","spelling":"grid"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]}],"returns":[{"kind":"text","spelling":"[["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mirrored"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"grid"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]) -> [["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":57,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10wordCountsySDySSSiGSaySSGF","interfaceLanguage":"swift"},"pathComponents":["wordCounts(_:)"],"names":{"title":"wordCounts(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wordCounts"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"words","declarationFragments":[{"kind":"identifier","spelling":"words"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"wordCounts"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"words"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":58,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7lengthsySDySSSiGSDyS2SGF","interfaceLanguage":"swift"},"pathComponents":["lengths(_:)"],"names":{"title":"lengths(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lengths"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"table","declarationFragments":[{"kind":"identifier","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lengths"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"table"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":" : "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":61,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8trackersySayAA7TrackerCGSaySiGF","interfaceLanguage":"swift"},"pathComponents":["trackers(_:)"],"names":{"title":"trackers(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"trackers"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"ids","declarationFragments":[{"kind":"identifier","spelling":"ids"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"trackers"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"ids"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":62,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10allFlavorsSayAA6FlavorOGyF","interfaceLanguage":"swift"},"pathComponents":["allFlavors()"],"names":{"title":"allFlavors()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allFlavors"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allFlavors"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":63,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7nextDay5after10Foundation4DateVAF_tF","interfaceLanguage":"swift"},"pathComponents":["nextDay(after:)"],"names":{"title":"nextDay(after:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextDay"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]},"functionSignature":{"parameters":[{"name":"after","internalName":"date","declarationFragments":[{"kind":"identifier","spelling":"date"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextDay"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"after"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"date"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Date","preciseIdentifier":"s:10Foundation4DateV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":64,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF","interfaceLanguage":"swift"},"pathComponents":["host(of:)"],"names":{"title":"host(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"host"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"url","declarationFragments":[{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"host"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":65,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7resolve_7against10Foundation3URLVSS_AFtF","interfaceLanguage":"swift"},"pathComponents":["resolve(_:against:)"],"names":{"title":"resolve(_:against:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resolve"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"against"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]},"functionSignature":{"parameters":[{"name":"path","declarationFragments":[{"kind":"identifier","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"against","internalName":"base","declarationFragments":[{"kind":"identifier","spelling":"base"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resolve"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"path"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"against"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"base"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"URL","preciseIdentifier":"s:10Foundation3URLV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":66,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8checksumySi10Foundation4DataVF","interfaceLanguage":"swift"},"pathComponents":["checksum(_:)"],"names":{"title":"checksum(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checksum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"functionSignature":{"parameters":[{"name":"data","declarationFragments":[{"kind":"identifier","spelling":"data"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"checksum"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"data"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":67,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4rampy10Foundation4DataVSiF","interfaceLanguage":"swift"},"pathComponents":["ramp(_:)"],"names":{"title":"ramp(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ramp"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ramp"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Data","preciseIdentifier":"s:10Foundation4DataV"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":68,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10namesLaterySaySSGSiYaF","interfaceLanguage":"swift"},"pathComponents":["namesLater(_:)"],"names":{"title":"namesLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"namesLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"count","declarationFragments":[{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"namesLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":69,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9countdown4from_ySi_ySi_SbtXEtF","interfaceLanguage":"swift"},"pathComponents":["countdown(from:_:)"],"names":{"title":"countdown(from:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countdown"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"from"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"from","internalName":"start","declarationFragments":[{"kind":"identifier","spelling":"start"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},{"name":"tick","declarationFragments":[{"kind":"identifier","spelling":"tick"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"countdown"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"from"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"start"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"tick"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":74,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo10greetLater_10completionySSSg_yADYbctF","interfaceLanguage":"swift"},"pathComponents":["greetLater(_:completion:)"],"names":{"title":"greetLater(_:completion:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]},{"name":"completion","declarationFragments":[{"kind":"identifier","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"greetLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completion"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":80,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"s:9SwiftDemo8NotifierC","interfaceLanguage":"swift"},"pathComponents":["Notifier"],"names":{"title":"Notifier","navigator":[{"kind":"identifier","spelling":"Notifier"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Notifier"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Notifier"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":86,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo8NotifierCACycfc","interfaceLanguage":"swift"},"pathComponents":["Notifier","init()"],"names":{"title":"init()","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}]},"functionSignature":{},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":88,"character":11}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo8NotifierC5countSivp","interfaceLanguage":"swift"},"pathComponents":["Notifier","count"],"names":{"title":"count","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"count"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":89,"character":15}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC9subscribeyyySSYbcF","interfaceLanguage":"swift"},"pathComponents":["Notifier","subscribe(_:)"],"names":{"title":"subscribe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribe"},{"kind":"text","spelling":"("},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"handler","declarationFragments":[{"kind":"identifier","spelling":"handler"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"handler"},{"kind":"text","spelling":": "},{"kind":"attribute","spelling":"@escaping"},{"kind":"text","spelling":" "},{"kind":"attribute","spelling":"@Sendable"},{"kind":"text","spelling":" ("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":90,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC7publishyySSF","interfaceLanguage":"swift"},"pathComponents":["Notifier","publish(_:)"],"names":{"title":"publish(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publish"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publish"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":91,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC12publishLateryySSF","interfaceLanguage":"swift"},"pathComponents":["Notifier","publishLater(_:)"],"names":{"title":"publishLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publishLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"message","declarationFragments":[{"kind":"identifier","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publishLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"message"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":92,"character":16}}},{"kind":{"identifier":"swift.method","displayName":"Instance Method"},"identifier":{"precise":"s:9SwiftDemo8NotifierC5clearyyF","interfaceLanguage":"swift"},"pathComponents":["Notifier","clear()"],"names":{"title":"clear()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"()"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"()"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":96,"character":16}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4area2ofSdAA11MeasurementO_tF","interfaceLanguage":"swift"},"pathComponents":["area(of:)"],"names":{"title":"area(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"measurement","declarationFragments":[{"kind":"identifier","spelling":"measurement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"area"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"measurement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":99,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7measure_2byAA11MeasurementOSd_SdSgtF","interfaceLanguage":"swift"},"pathComponents":["measure(_:by:)"],"names":{"title":"measure(_:by:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measure"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"functionSignature":{"parameters":[{"name":"width","declarationFragments":[{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},{"name":"by","internalName":"height","declarationFragments":[{"kind":"identifier","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"by"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":"?) -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":106,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12measurementsSayAA11MeasurementOGyF","interfaceLanguage":"swift"},"pathComponents":["measurements()"],"names":{"title":"measurements()","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measurements"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}]},"functionSignature":{"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measurements"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":111,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF","interfaceLanguage":"swift"},"pathComponents":["measureLater(_:)"],"names":{"title":"measureLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measureLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"functionSignature":{"parameters":[{"name":"width","declarationFragments":[{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"measureLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":113,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9onMeasureyyyAA11MeasurementOXEF","interfaceLanguage":"swift"},"pathComponents":["onMeasure(_:)"],"names":{"title":"onMeasure(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onMeasure"},{"kind":"text","spelling":"(("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"body","declarationFragments":[{"kind":"identifier","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onMeasure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"body"},{"kind":"text","spelling":": ("},{"kind":"typeIdentifier","spelling":"Measurement","preciseIdentifier":"s:9SwiftDemo11MeasurementO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":118,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo7explainySSAA10ShapeErrorOF","interfaceLanguage":"swift"},"pathComponents":["explain(_:)"],"names":{"title":"explain(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"explain"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"error","declarationFragments":[{"kind":"identifier","spelling":"error"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"explain"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"error"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"ShapeError","preciseIdentifier":"s:9SwiftDemo10ShapeErrorO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":120,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7FormulaO","interfaceLanguage":"swift"},"pathComponents":["Formula"],"names":{"title":"Formula","navigator":[{"kind":"identifier","spelling":"Formula"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Formula"}]},"declarationFragments":[{"kind":"keyword","spelling":"indirect"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Formula"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":128,"character":21}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO6numberyACSdcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","number(_:)"],"names":{"title":"Formula.number(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"number"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"number"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":129,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","sum(_:_:)"],"names":{"title":"Formula.sum(_:_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sum"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":", "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":130,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7FormulaO6negateyA2CcACmF","interfaceLanguage":"swift"},"pathComponents":["Formula","negate(_:)"],"names":{"title":"Formula.negate(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"negate"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"negate"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":131,"character":9}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo7FormulaO5valueSdvp","interfaceLanguage":"swift"},"pathComponents":["Formula","value"],"names":{"title":"value","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Double","preciseIdentifier":"s:Sd"},{"kind":"text","spelling":" { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":133,"character":15}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8simplifyyAA7FormulaOADF","interfaceLanguage":"swift"},"pathComponents":["simplify(_:)"],"names":{"title":"simplify(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simplify"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]},"functionSignature":{"parameters":[{"name":"formula","declarationFragments":[{"kind":"identifier","spelling":"formula"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simplify"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"formula"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Formula","preciseIdentifier":"s:9SwiftDemo7FormulaO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":142,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo7PayloadO","interfaceLanguage":"swift"},"pathComponents":["Payload"],"names":{"title":"Payload","navigator":[{"kind":"identifier","spelling":"Payload"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Payload"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Payload"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":144,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","tracker(_:)"],"names":{"title":"Payload.tracker(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tracker"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tracker"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":145,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","point(_:)"],"names":{"title":"Payload.point(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"point"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Point","preciseIdentifier":"s:9SwiftDemo5PointV"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":146,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","flavor(_:)"],"names":{"title":"Payload.flavor(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flavor"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"flavor"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Flavor","preciseIdentifier":"s:9SwiftDemo6FlavorO"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":147,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","maybe(_:)"],"names":{"title":"Payload.maybe(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maybe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?)"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maybe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"?)"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":148,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF","interfaceLanguage":"swift"},"pathComponents":["Payload","names(_:)"],"names":{"title":"Payload.names(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"names"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":149,"character":9}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4echoyAA7PayloadOADF","interfaceLanguage":"swift"},"pathComponents":["echo(_:)"],"names":{"title":"echo(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echo"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]},"functionSignature":{"parameters":[{"name":"payload","declarationFragments":[{"kind":"identifier","spelling":"payload"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"echo"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"payload"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Payload","preciseIdentifier":"s:9SwiftDemo7PayloadO"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":152,"character":12}}},{"kind":{"identifier":"swift.enum","displayName":"Enumeration"},"identifier":{"precise":"s:9SwiftDemo3JobO","interfaceLanguage":"swift"},"pathComponents":["Job"],"names":{"title":"Job","navigator":[{"kind":"identifier","spelling":"Job"}],"subHeading":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Job"}]},"declarationFragments":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Job"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":155,"character":12}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo3JobO3runyACyyccACmF","interfaceLanguage":"swift"},"pathComponents":["Job","run(_:)"],"names":{"title":"Job.run(_:)","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"run"},{"kind":"text","spelling":"(() -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"run"},{"kind":"text","spelling":"(() -> "},{"kind":"typeIdentifier","spelling":"Void","preciseIdentifier":"s:s4Voida"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":156,"character":9}}},{"kind":{"identifier":"swift.enum.case","displayName":"Case"},"identifier":{"precise":"s:9SwiftDemo3JobO4idleyA2CmF","interfaceLanguage":"swift"},"pathComponents":["Job","idle"],"names":{"title":"Job.idle","subHeading":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"idle"}]},"declarationFragments":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"idle"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":157,"character":9}}},{"kind":{"identifier":"swift.struct","displayName":"Structure"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket"],"names":{"title":"Job.Ticket","navigator":[{"kind":"identifier","spelling":"Ticket"}],"subHeading":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ticket"}]},"declarationFragments":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Ticket"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":159,"character":18}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV2idSivp","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket","id"],"names":{"title":"id","subHeading":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]},"declarationFragments":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":160,"character":19}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo3JobO6TicketV2idAESi_tcfc","interfaceLanguage":"swift"},"pathComponents":["Job","Ticket","init(id:)"],"names":{"title":"init(id:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"id","declarationFragments":[{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":161,"character":15}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4bumpyySizF","interfaceLanguage":"swift"},"pathComponents":["bump(_:)"],"names":{"title":"bump(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bump"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bump"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":165,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo6append_2toySS_SaySSGztF","interfaceLanguage":"swift"},"pathComponents":["append(_:to:)"],"names":{"title":"append(_:to:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"append"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}]},"functionSignature":{"parameters":[{"name":"word","declarationFragments":[{"kind":"identifier","spelling":"word"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},{"name":"to","internalName":"words","declarationFragments":[{"kind":"identifier","spelling":"words"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"append"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"word"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"to"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"words"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" ["},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"])"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":166,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5halveyySizKF","interfaceLanguage":"swift"},"pathComponents":["halve(_:)"],"names":{"title":"halve(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"halve"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}]},"functionSignature":{"parameters":[{"name":"value","declarationFragments":[{"kind":"identifier","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"halve"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"value"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":167,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo5clearyySSSgzF","interfaceLanguage":"swift"},"pathComponents":["clear(_:)"],"names":{"title":"clear(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?)"}]},"functionSignature":{"parameters":[{"name":"name","declarationFragments":[{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"clear"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":"?)"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":171,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12swapTrackersyyAA7TrackerCz_ADztF","interfaceLanguage":"swift"},"pathComponents":["swapTrackers(_:_:)"],"names":{"title":"swapTrackers(_:_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapTrackers"},{"kind":"text","spelling":"("},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":", "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"a","declarationFragments":[{"kind":"identifier","spelling":"a"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]},{"name":"b","declarationFragments":[{"kind":"identifier","spelling":"b"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"}]}],"returns":[{"kind":"text","spelling":"()"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"swapTrackers"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"a"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"b"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","spelling":"Tracker","preciseIdentifier":"s:9SwiftDemo7TrackerC"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Values.swift","position":{"line":172,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8describeySSSo6UIViewCF","interfaceLanguage":"swift"},"pathComponents":["describe(_:)"],"names":{"title":"describe(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"view","declarationFragments":[{"kind":"identifier","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"describe"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":5,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9makeLabelySo7UILabelCSSF","interfaceLanguage":"swift"},"pathComponents":["makeLabel(_:)"],"names":{"title":"makeLabel(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeLabel"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}]},"declarationFragments":[{"kind":"attribute","spelling":"@"},{"kind":"attribute","spelling":"MainActor","preciseIdentifier":"s:ScM"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeLabel"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UILabel","preciseIdentifier":"c:objc(cs)UILabel"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":7,"character":23}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF","interfaceLanguage":"swift"},"pathComponents":["tags(_:)"],"names":{"title":"tags(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":"(["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"functionSignature":{"parameters":[{"name":"views","declarationFragments":[{"kind":"identifier","spelling":"views"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]"}]}],"returns":[{"kind":"text","spelling":"["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"views"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"]) -> ["},{"kind":"typeIdentifier","spelling":"Int","preciseIdentifier":"s:Si"},{"kind":"text","spelling":"]"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":13,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF","interfaceLanguage":"swift"},"pathComponents":["firstSubview(of:)"],"names":{"title":"firstSubview(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"firstSubview"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"view","declarationFragments":[{"kind":"identifier","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"}]}],"returns":[{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"firstSubview"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"view"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"UIView","preciseIdentifier":"c:objc(cs)UIView"},{"kind":"text","spelling":"?"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":15,"character":12}}},{"kind":{"identifier":"swift.class","displayName":"Class"},"identifier":{"precise":"c:@M@SwiftDemo@objc(cs)Note","interfaceLanguage":"swift"},"pathComponents":["Note"],"names":{"title":"Note","navigator":[{"kind":"identifier","spelling":"Note"}],"subHeading":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"final"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":17,"character":19}}},{"kind":{"identifier":"swift.property","displayName":"Instance Property"},"identifier":{"precise":"s:9SwiftDemo4NoteC4textSSvp","interfaceLanguage":"swift"},"pathComponents":["Note","text"],"names":{"title":"text","subHeading":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"let"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":18,"character":15}}},{"kind":{"identifier":"swift.init","displayName":"Initializer"},"identifier":{"precise":"s:9SwiftDemo4NoteC4textACSS_tcfc","interfaceLanguage":"swift"},"pathComponents":["Note","init(text:)"],"names":{"title":"init(text:)","subHeading":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}]},"declarationFragments":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":")"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":19,"character":11}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo8makeNoteyAA0D0CSSF","interfaceLanguage":"swift"},"pathComponents":["makeNote(_:)"],"names":{"title":"makeNote(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeNote"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"makeNote"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":22,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo4text2ofSSAA4NoteC_tF","interfaceLanguage":"swift"},"pathComponents":["text(of:)"],"names":{"title":"text(of:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"functionSignature":{"parameters":[{"name":"of","internalName":"note","declarationFragments":[{"kind":"identifier","spelling":"note"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]}],"returns":[{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"of"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"note"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":23,"character":12}}},{"kind":{"identifier":"swift.func","displayName":"Function"},"identifier":{"precise":"s:9SwiftDemo9noteLateryAA4NoteCSSYaF","interfaceLanguage":"swift"},"pathComponents":["noteLater(_:)"],"names":{"title":"noteLater(_:)","subHeading":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"noteLater"},{"kind":"text","spelling":"("},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"functionSignature":{"parameters":[{"name":"text","declarationFragments":[{"kind":"identifier","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"}]}],"returns":[{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}]},"declarationFragments":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"noteLater"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"_"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"text"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","spelling":"String","preciseIdentifier":"s:SS"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","spelling":"Note","preciseIdentifier":"c:@M@SwiftDemo@objc(cs)Note"}],"accessLevel":"public","location":{"uri":"file://Sources/SwiftDemo/Views.swift","position":{"line":25,"character":12}}}],"relationships":[{"kind":"requirementOf","source":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","target":"s:9SwiftDemo7GreeterP"},{"kind":"conformsTo","source":"s:9SwiftDemo0B0C","target":"s:9SwiftDemo7GreeterP"},{"kind":"memberOf","source":"s:9SwiftDemo0B0CACycfc","target":"s:9SwiftDemo0B0C"},{"kind":"memberOf","source":"s:9SwiftDemo0B0C5greet4nameS2S_tF","target":"s:9SwiftDemo0B0C","sourceOrigin":{"identifier":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","displayName":"Greeter.greet(name:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1xSdvp","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1ySdvp","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV1x1yACSd_Sdtcfc","target":"s:9SwiftDemo5PointV"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo6FlavorO","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO7vanillayA2CmF","target":"s:9SwiftDemo6FlavorO"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO9chocolateyA2CmF","target":"s:9SwiftDemo6FlavorO"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:9SwiftDemo0B0C5greet4name5timesS2S_SitF","target":"s:9SwiftDemo0B0C"},{"kind":"memberOf","source":"s:9SwiftDemo0B0C7versionSSvpZ","target":"s:9SwiftDemo0B0C"},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s9EscapableP","targetFallback":"Swift.Escapable"},{"kind":"conformsTo","source":"s:9SwiftDemo5PointV","target":"s:s8CopyableP","targetFallback":"Swift.Copyable"},{"kind":"memberOf","source":"s:9SwiftDemo5PointV11descriptionSSvp","target":"s:9SwiftDemo5PointV","sourceOrigin":{"identifier":"s:s23CustomStringConvertibleP11descriptionSSvp","displayName":"CustomStringConvertible.description"}},{"kind":"memberOf","source":"s:9SwiftDemo5PointV6lengthSdvp","target":"s:9SwiftDemo5PointV"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s9EscapableP","targetFallback":"Swift.Escapable"},{"kind":"conformsTo","source":"s:9SwiftDemo6FlavorO","target":"s:s8CopyableP","targetFallback":"Swift.Copyable"},{"kind":"memberOf","source":"s:9SwiftDemo6FlavorO11descriptionSSvp","target":"s:9SwiftDemo6FlavorO","sourceOrigin":{"identifier":"s:s23CustomStringConvertibleP11descriptionSSvp","displayName":"CustomStringConvertible.description"}},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo7PolygonC5StyleO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF","target":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF","target":"s:9SwiftDemo7PolygonC5StyleO"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc","target":"s:9SwiftDemo7PolygonC5StyleO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp","target":"s:9SwiftDemo7PolygonC7MetricsV"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc","target":"s:9SwiftDemo7PolygonC7MetricsV"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5styleAC5StyleOvp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"conformsTo","source":"s:9SwiftDemo10ThermostatC","target":"s:11Observation10ObservableP","targetFallback":"Observation.Observable"},{"kind":"memberOf","source":"s:9SwiftDemo10ThermostatC7celsiusSdvp","target":"s:9SwiftDemo10ThermostatC"},{"kind":"memberOf","source":"s:9SwiftDemo10ThermostatC5labelSSvp","target":"s:9SwiftDemo10ThermostatC"},{"kind":"memberOf","source":"s:9SwiftDemo10ThermostatCACycfc","target":"s:9SwiftDemo10ThermostatC"},{"kind":"memberOf","source":"s:9SwiftDemo10ThermostatC4warm2byySd_tF","target":"s:9SwiftDemo10ThermostatC"},{"kind":"memberOf","source":"s:9SwiftDemo10ThermostatC9warmLater2byySd_tF","target":"s:9SwiftDemo10ThermostatC"},{"kind":"conformsTo","source":"s:9SwiftDemo10ThermostatC","target":"s:s9EscapableP","targetFallback":"Swift.Escapable"},{"kind":"conformsTo","source":"s:9SwiftDemo10ThermostatC","target":"s:s8CopyableP","targetFallback":"Swift.Copyable"},{"kind":"requirementOf","source":"s:9SwiftDemo8GreetingP4nameSSvp","target":"s:9SwiftDemo8GreetingP"},{"kind":"requirementOf","source":"s:9SwiftDemo8GreetingP11punctuationSSvp","target":"s:9SwiftDemo8GreetingP"},{"kind":"requirementOf","source":"s:9SwiftDemo8GreetingP5greetyS2SF","target":"s:9SwiftDemo8GreetingP"},{"kind":"requirementOf","source":"s:9SwiftDemo8GreetingP5resetyyF","target":"s:9SwiftDemo8GreetingP"},{"kind":"requirementOf","source":"s:9SwiftDemo6ScorerP5scoreyS2iKF","target":"s:9SwiftDemo6ScorerP"},{"kind":"conformsTo","source":"s:9SwiftDemo12RankedScorerP","target":"s:9SwiftDemo6ScorerP"},{"kind":"requirementOf","source":"s:9SwiftDemo12RankedScorerP4rankSiSgvp","target":"s:9SwiftDemo12RankedScorerP"},{"kind":"memberOf","source":"s:9SwiftDemo8GreetingPAAE5shoutyS2SF","target":"s:9SwiftDemo8GreetingP"},{"kind":"memberOf","source":"s:9SwiftDemo8GreetingPAAE5shoutyS2SF::SYNTHESIZED::s:9SwiftDemo14FormalGreetingC","target":"s:9SwiftDemo14FormalGreetingC","sourceOrigin":{"identifier":"s:9SwiftDemo8GreetingPAAE5shoutyS2SF","displayName":"Greeting.shout(_:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo14FormalGreetingC","target":"s:9SwiftDemo8GreetingP"},{"kind":"memberOf","source":"s:9SwiftDemo14FormalGreetingC4nameSSvp","target":"s:9SwiftDemo14FormalGreetingC","sourceOrigin":{"identifier":"s:9SwiftDemo8GreetingP4nameSSvp","displayName":"Greeting.name"}},{"kind":"memberOf","source":"s:9SwiftDemo14FormalGreetingC11punctuationSSvp","target":"s:9SwiftDemo14FormalGreetingC","sourceOrigin":{"identifier":"s:9SwiftDemo8GreetingP11punctuationSSvp","displayName":"Greeting.punctuation"}},{"kind":"memberOf","source":"s:9SwiftDemo14FormalGreetingC4nameACSS_tcfc","target":"s:9SwiftDemo14FormalGreetingC"},{"kind":"memberOf","source":"s:9SwiftDemo14FormalGreetingC5greetyS2SF","target":"s:9SwiftDemo14FormalGreetingC","sourceOrigin":{"identifier":"s:9SwiftDemo8GreetingP5greetyS2SF","displayName":"Greeting.greet(_:)"}},{"kind":"memberOf","source":"s:9SwiftDemo14FormalGreetingC5resetyyF","target":"s:9SwiftDemo14FormalGreetingC","sourceOrigin":{"identifier":"s:9SwiftDemo8GreetingP5resetyyF","displayName":"Greeting.reset()"}},{"kind":"conformsTo","source":"s:9SwiftDemo14DoublingScorerV","target":"s:9SwiftDemo6ScorerP"},{"kind":"memberOf","source":"s:9SwiftDemo14DoublingScorerVACycfc","target":"s:9SwiftDemo14DoublingScorerV"},{"kind":"memberOf","source":"s:9SwiftDemo14DoublingScorerV5scoreyS2iF","target":"s:9SwiftDemo14DoublingScorerV","sourceOrigin":{"identifier":"s:9SwiftDemo6ScorerP5scoreyS2iKF","displayName":"Scorer.score(_:)"}},{"kind":"memberOf","source":"s:9SwiftDemo14GreetingHolderC8greetingAA0C0_pSgvp","target":"s:9SwiftDemo14GreetingHolderC"},{"kind":"memberOf","source":"s:9SwiftDemo14GreetingHolderCACycfc","target":"s:9SwiftDemo14GreetingHolderC"},{"kind":"memberOf","source":"s:9SwiftDemo14GreetingHolderC5greetySSSgSSF","target":"s:9SwiftDemo14GreetingHolderC"},{"kind":"conformsTo","source":"s:9SwiftDemo5ShapeP","target":"s:9SwiftDemo7GreeterP"},{"kind":"requirementOf","source":"s:9SwiftDemo5ShapeP4areaSdvp","target":"s:9SwiftDemo5ShapeP"},{"kind":"requirementOf","source":"s:9SwiftDemo5ShapeP5sidesSivpZ","target":"s:9SwiftDemo5ShapeP"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4nameSSvp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC11vertexCountSivp","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC6sharedACvpZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4nameACSgSS_tcfc","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale2byySd_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale2byySi_tF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC4makeACyFZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonC8describeySSACSgFZ","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo7PolygonCyAA5PointVSicip","target":"s:9SwiftDemo7PolygonC"},{"kind":"conformsTo","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo5ShapeP"},{"kind":"conformsTo","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo7GreeterP"},{"kind":"inheritsFrom","source":"s:9SwiftDemo6SquareC","target":"s:9SwiftDemo7PolygonC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4sideSdvp","target":"s:9SwiftDemo6SquareC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4sideACSd_tcfc","target":"s:9SwiftDemo6SquareC"},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC4areaSdvp","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo5ShapeP4areaSdvp","displayName":"Shape.area"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5sidesSivpZ","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo5ShapeP5sidesSivpZ","displayName":"Shape.sides"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5greet4nameS2S_tF","target":"s:9SwiftDemo6SquareC","sourceOrigin":{"identifier":"s:9SwiftDemo7GreeterP5greet4nameS2S_tF","displayName":"Greeter.greet(name:)"}},{"kind":"memberOf","source":"s:9SwiftDemo6SquareC5scale2byySd_tF","target":"s:9SwiftDemo6SquareC"},{"kind":"overrides","source":"s:9SwiftDemo6SquareC5scale2byySd_tF","target":"s:9SwiftDemo7PolygonC5scale2byySd_tF"},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp","displayName":"RawRepresentable.hashValue"}},{"kind":"memberOf","source":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SYsSHRzSH8RawValueSYRpzrlE4hash4intoys6HasherVz_tF","displayName":"RawRepresentable.hash(into:)"}},{"kind":"memberOf","source":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SQsRi_zRi0_zrlE2neoiySbx_xtFZ","displayName":"Equatable.!=(_:_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE08makeFromf10AttachmentD0yxSgAA0cfD0VFZ","displayName":"RawRepresentable.makeFromRawAttachmentValue(_:)"}},{"kind":"memberOf","source":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY9CoreVideoAA30CVAttachmentValueRepresentable03RawD0RpzrlE013rawAttachmentD14RepresentationAA0cfD0Vvp","displayName":"RawRepresentable.rawAttachmentValueRepresentation"}},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"s:9SwiftDemo13PrecipitationO","target":"s:SY","targetFallback":"Swift.RawRepresentable"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4rainyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4snowyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO4noneyA2CmF","target":"s:9SwiftDemo13PrecipitationO"},{"kind":"memberOf","source":"s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc","target":"s:9SwiftDemo13PrecipitationO","sourceOrigin":{"identifier":"s:SY8rawValuexSg03RawB0Qz_tcfc","displayName":"RawRepresentable.init(rawValue:)"}},{"kind":"memberOf","source":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO","target":"s:9SwiftDemo10ShapeErrorO","sourceOrigin":{"identifier":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp","displayName":"Error.localizedDescription"}},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s5ErrorP","targetFallback":"Swift.Error"},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo10ShapeErrorO","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO11invalidSideyACSdcACmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO12tooManySidesyACSi_SitcACmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo10ShapeErrorO7unknownyA2CmF","target":"s:9SwiftDemo10ShapeErrorO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO6lengthyACSdcACmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4noneyA2CmF","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp","target":"s:9SwiftDemo11MeasurementO4UnitV"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc","target":"s:9SwiftDemo11MeasurementO4UnitV"},{"kind":"memberOf","source":"s:9SwiftDemo11MeasurementO6isNoneSbvp","target":"s:9SwiftDemo11MeasurementO"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5innerAA5PointVvp","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5outerAA5PointVvp","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV6expand2byySd_tF","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:9SwiftDemo4RingV1poiyA2C_ACtFZ","target":"s:9SwiftDemo4RingV"},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pqd_0_YKXEqd_0_YKs5ErrorRd_0_Ri_d__r0_lF","displayName":"Actor.withSerialExecutor(_:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE18withSerialExecutoryqd__qd__Scf_pYaqd_0_YKYCXEYaqd_0_YKs5ErrorRd_0_Ri_d__r0_lF","displayName":"Actor.withSerialExecutor(_:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE20preconditionIsolated_4file4lineySSyXK_s12StaticStringVSutF","displayName":"Actor.preconditionIsolated(_:file:line:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE14assertIsolated_4file4lineySSyXK_s12StaticStringVSutF","displayName":"Actor.assertIsolated(_:file:line:)"}},{"kind":"memberOf","source":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF::SYNTHESIZED::s:9SwiftDemo7CounterC","target":"s:9SwiftDemo7CounterC","sourceOrigin":{"identifier":"s:ScA12_ConcurrencyE14assumeIsolated_4file4lineqd__qd__xYiKXE_s12StaticStringVSutKs8SendableRd__lF","displayName":"Actor.assumeIsolated(_:file:line:)"}},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:ScA","targetFallback":"_Concurrency.Actor"},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo7CounterC","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC5valueSivp","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC4stepSivp","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterCACycfc","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC9incrementSiyF","target":"s:9SwiftDemo7CounterC"},{"kind":"memberOf","source":"s:9SwiftDemo7CounterC5labelSSyF","target":"s:9SwiftDemo7CounterC"},{"kind":"conformsTo","source":"s:9SwiftDemo6CanvasC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"memberOf","source":"s:9SwiftDemo6CanvasCACycfc","target":"s:9SwiftDemo6CanvasC"},{"kind":"memberOf","source":"s:9SwiftDemo6CanvasC4drawyyAA5Shape_pF","target":"s:9SwiftDemo6CanvasC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderCACycfc","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC9transformyxxAA5ShapeRzlF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC5first2ofxSgSayxG_tlF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC14withCompletionyyys6ResultOySSAA10ShapeErrorOGcF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC4eachyyySiXEF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC6updateyyAA5PointVzF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC10modernOnlyyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC11legacyFetchyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo6LoaderC8oldFetchyyF","target":"s:9SwiftDemo6LoaderC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC9liveCountSivpZ","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC2idSivp","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC2idACSi_tcfc","target":"s:9SwiftDemo7TrackerC"},{"kind":"memberOf","source":"s:9SwiftDemo7TrackerC4sameACyF","target":"s:9SwiftDemo7TrackerC"},{"kind":"conformsTo","source":"s:9SwiftDemo7PaletteC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC7strokesSivp","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteCACycfc","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC6strokeSiyF","target":"s:9SwiftDemo7PaletteC"},{"kind":"memberOf","source":"s:9SwiftDemo7PaletteC11strokeLaterSiyYaF","target":"s:9SwiftDemo7PaletteC"},{"kind":"conformsTo","source":"s:9SwiftDemo8NotifierC","target":"s:s8SendableP","targetFallback":"Swift.Sendable"},{"kind":"conformsTo","source":"s:9SwiftDemo8NotifierC","target":"s:s16SendableMetatypeP","targetFallback":"Swift.SendableMetatype"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierCACycfc","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC5countSivp","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC9subscribeyyySSYbcF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC7publishyySSF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC12publishLateryySSF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo8NotifierC5clearyyF","target":"s:9SwiftDemo8NotifierC"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO6numberyACSdcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO6negateyA2CcACmF","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7FormulaO5valueSdvp","target":"s:9SwiftDemo7FormulaO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF","target":"s:9SwiftDemo7PayloadO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO3runyACyyccACmF","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO4idleyA2CmF","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV","target":"s:9SwiftDemo3JobO"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV2idSivp","target":"s:9SwiftDemo3JobO6TicketV"},{"kind":"memberOf","source":"s:9SwiftDemo3JobO6TicketV2idAESi_tcfc","target":"s:9SwiftDemo3JobO6TicketV"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"c:objc(pl)NSObject","targetFallback":"ObjectiveC.NSObjectProtocol"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:SQ","targetFallback":"Swift.Equatable"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:SH","targetFallback":"Swift.Hashable"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s7CVarArgP","targetFallback":"Swift.CVarArg"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s23CustomStringConvertibleP","targetFallback":"Swift.CustomStringConvertible"},{"kind":"conformsTo","source":"c:@M@SwiftDemo@objc(cs)Note","target":"s:s28CustomDebugStringConvertibleP","targetFallback":"Swift.CustomDebugStringConvertible"},{"kind":"inheritsFrom","source":"c:@M@SwiftDemo@objc(cs)Note","target":"c:objc(cs)NSObject","targetFallback":"ObjectiveC.NSObject"},{"kind":"memberOf","source":"s:9SwiftDemo4NoteC4textSSvp","target":"c:@M@SwiftDemo@objc(cs)Note"},{"kind":"memberOf","source":"s:9SwiftDemo4NoteC4textACSS_tcfc","target":"c:@M@SwiftDemo@objc(cs)Note"}]} \ No newline at end of file diff --git a/metadata-generator/src/Swift/ThunkEmitter.cpp b/metadata-generator/src/Swift/ThunkEmitter.cpp index 051f3e7a..3bc29dda 100644 --- a/metadata-generator/src/Swift/ThunkEmitter.cpp +++ b/metadata-generator/src/Swift/ThunkEmitter.cpp @@ -19,6 +19,7 @@ constexpr int kRegisterModuleSlot = 10 * 8; constexpr int kRegisterTypeSlot = 11 * 8; constexpr int kRegisterMemberSlot = 12 * 8; constexpr int kRegisterUnitModuleSlot = 42 * 8; +constexpr int kRegisterTrackerSlot = 48 * 8; std::string quoted(const std::string& text) { std::string out = "\""; @@ -525,13 +526,14 @@ class Emitter { } std::string header() const { - std::string out = "// Generated by objc-metadata-generator from the " + - _module.name + - " symbol graphs. Do not edit.\n" - "// NativeScript Swift interop thunks, ABI " + - std::to_string(kThunkABIVersion) + - ": see NativeScript/runtime/SwiftInterop.h.\n" - "import Foundation\n"; + std::string out = + "// Generated by objc-metadata-generator from the " + _module.name + + " symbol graphs. Do not edit.\n" + "// NativeScript Swift interop thunks, ABI " + + std::to_string(kThunkABIVersion) + + ": see NativeScript/runtime/SwiftInterop.h.\n" + "import Foundation\n" + "#if canImport(Observation)\nimport Observation\n#endif\n"; return out + swiftImports(_module, _classification) + "\n"; } @@ -898,6 +900,22 @@ private final class __NSJSObject: @unchecked Sendable { } } +// Runs `read`, then calls `changed` once when an observable property it read +// is about to change (withObservationTracking); 0 without Observation. +private typealias __NSTracker = @convention(c) (UnsafeRawPointer, UnsafeMutableRawPointer, UnsafeMutableRawPointer) -> UInt8 +private func __nsTrack(_ api: UnsafeRawPointer, _ read: UnsafeMutableRawPointer, + _ changed: UnsafeMutableRawPointer) -> UInt8 { +#if canImport(Observation) + if #available(iOS 17.0, macOS 14.0, tvOS 17.0, watchOS 10.0, *) { + let reader = __NSCallback(api: api, handle: read) + let notify = __NSCallback(api: api, handle: changed) + withObservationTracking { reader.invoke { _ in } } onChange: { notify.invoke { _ in } } + return 1 + } +#endif + return 0 +} + private func __nsRelease(_ object: UnsafeMutableRawPointer) { Unmanaged.fromOpaque(object).release() } @@ -1388,13 +1406,18 @@ private func __nsRelease(_ object: UnsafeMutableRawPointer) { " let registerUnitModule = api.load(fromByteOffset: " + std::to_string(kRegisterUnitModuleSlot) + ", as: (@convention(c) (UnsafeMutableRawPointer, " - "UnsafePointer) -> Void).self)\n\n" + "UnsafePointer) -> Void).self)\n" + " let registerTracker = api.load(fromByteOffset: " + + std::to_string(kRegisterTrackerSlot) + + ", as: (@convention(c) (UnsafeMutableRawPointer, __NSTracker) -> " + "Void).self)\n\n" " registerModule(registrar, " + std::to_string(kThunkABIVersion) + ", " + quoted(_module.name) + ", " + quoted(result.fingerprint) + ", __nsRelease)\n"; for (const auto& name : _module.swiftModules()) { out += " registerUnitModule(registrar, " + quoted(name) + ")\n"; } + out += " registerTracker(registrar, __nsTrack)\n"; for (const auto& type : _surface.types) { const Symbol& symbol = *type.symbol; int kind = type.kind; diff --git a/metadata-generator/src/Swift/ThunkEmitter.h b/metadata-generator/src/Swift/ThunkEmitter.h index 67a93f2d..f844f9df 100644 --- a/metadata-generator/src/Swift/ThunkEmitter.h +++ b/metadata-generator/src/Swift/ThunkEmitter.h @@ -9,7 +9,7 @@ namespace Swift { // ABI version the emitted thunks implement; must match NS_SWIFT_ABI_VERSION // in NativeScript/runtime/SwiftInterop.h, which documents the contract. -constexpr int kThunkABIVersion = 9; +constexpr int kThunkABIVersion = 10; struct ThunkSource { std::string source; diff --git a/metadata-generator/tests/swift/SymbolGraphLoaderTests.cpp b/metadata-generator/tests/swift/SymbolGraphLoaderTests.cpp index e3a4656d..f972d2de 100644 --- a/metadata-generator/tests/swift/SymbolGraphLoaderTests.cpp +++ b/metadata-generator/tests/swift/SymbolGraphLoaderTests.cpp @@ -79,6 +79,7 @@ TEST(TopLevelDeclarationsInSourceOrder) { "Demo", "Point", "Flavor", + "Thermostat", "Greeting", "Scorer", "RankedScorer", diff --git a/metadata-generator/tests/swift/ThunkEmitterTests.cpp b/metadata-generator/tests/swift/ThunkEmitterTests.cpp index 2665f826..5ae852b2 100644 --- a/metadata-generator/tests/swift/ThunkEmitterTests.cpp +++ b/metadata-generator/tests/swift/ThunkEmitterTests.cpp @@ -47,7 +47,7 @@ TEST(ThunkRegistration) { "ns_swift_register_SwiftDemoKit"})); CHECK_EQ(thunks().fingerprint.size(), size_t(16)); CHECK(thunks().thunkCount > 0); - CHECK(registers("registerModule(registrar, 9, \"SwiftDemo\", \"" + + CHECK(registers("registerModule(registrar, 10, \"SwiftDemo\", \"" + thunks().fingerprint + "\", __nsRelease)")); // Cases of a tagged enum register their associated values' codes. CHECK(registers("\"tooManySides\", \"tooManySides(count:limit:)\", \"i64,i64>t")); diff --git a/metadata-generator/tests/swift/snapshots/SwiftDemo.coverage.json b/metadata-generator/tests/swift/snapshots/SwiftDemo.coverage.json index 3e08c6af..874d86c8 100644 --- a/metadata-generator/tests/swift/snapshots/SwiftDemo.coverage.json +++ b/metadata-generator/tests/swift/snapshots/SwiftDemo.coverage.json @@ -2,24 +2,24 @@ "module": "SwiftDemo", "totals": { "declarations": { - "total": 294, + "total": 300, "objc-direct": 1, - "swift-generated": 245, + "swift-generated": 251, "swift-specialized": 17, "type-only": 5, "unsupported": 26, "not-applicable": 0 }, "callable": { - "total": 250, + "total": 255, "objc-direct": 0, - "swift-generated": 209, + "swift-generated": 214, "swift-specialized": 14, "type-only": 2, "unsupported": 25, "not-applicable": 0 }, - "effectiveCallable": 209, + "effectiveCallable": 214, "compilerVerified": false, "compiledThunks": null, "runtimeTested": null @@ -35,9 +35,9 @@ "not-applicable": 0 }, "class": { - "total": 15, + "total": 16, "objc-direct": 1, - "swift-generated": 13, + "swift-generated": 14, "swift-specialized": 1, "type-only": 0, "unsupported": 0, @@ -71,27 +71,27 @@ "not-applicable": 0 }, "initializer": { - "total": 30, + "total": 31, "objc-direct": 0, - "swift-generated": 27, + "swift-generated": 28, "swift-specialized": 2, "type-only": 0, "unsupported": 1, "not-applicable": 0 }, "instanceMethod": { - "total": 60, + "total": 62, "objc-direct": 0, - "swift-generated": 45, + "swift-generated": 47, "swift-specialized": 7, "type-only": 0, "unsupported": 8, "not-applicable": 0 }, "instanceProperty": { - "total": 52, + "total": 54, "objc-direct": 0, - "swift-generated": 43, + "swift-generated": 45, "swift-specialized": 3, "type-only": 1, "unsupported": 5, @@ -678,6 +678,53 @@ "jsName": "unknown", "location": "file://Sources/SwiftDemo/Shapes.swift:58" }, + { + "id": "s:9SwiftDemo10ThermostatC", + "path": "Thermostat", + "kind": "class", + "tier": "swift-generated", + "location": "file://Sources/SwiftDemo/Observing.swift:7" + }, + { + "id": "s:9SwiftDemo10ThermostatC4warm2byySd_tF", + "path": "Thermostat.warm(by:)", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "warm", + "location": "file://Sources/SwiftDemo/Observing.swift:13" + }, + { + "id": "s:9SwiftDemo10ThermostatC5labelSSvp", + "path": "Thermostat.label", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "label", + "location": "file://Sources/SwiftDemo/Observing.swift:9" + }, + { + "id": "s:9SwiftDemo10ThermostatC7celsiusSdvp", + "path": "Thermostat.celsius", + "kind": "instanceProperty", + "tier": "swift-generated", + "jsName": "celsius", + "location": "file://Sources/SwiftDemo/Observing.swift:8" + }, + { + "id": "s:9SwiftDemo10ThermostatC9warmLater2byySd_tF", + "path": "Thermostat.warmLater(by:)", + "kind": "instanceMethod", + "tier": "swift-generated", + "jsName": "warmLater", + "location": "file://Sources/SwiftDemo/Observing.swift:15" + }, + { + "id": "s:9SwiftDemo10ThermostatCACycfc", + "path": "Thermostat.init()", + "kind": "initializer", + "tier": "swift-generated", + "jsName": "constructor", + "location": "file://Sources/SwiftDemo/Observing.swift:11" + }, { "id": "s:9SwiftDemo10allFlavorsSayAA6FlavorOGyF", "path": "allFlavors()", diff --git a/metadata-generator/tests/swift/snapshots/SwiftDemo.ir.json b/metadata-generator/tests/swift/snapshots/SwiftDemo.ir.json index b42d2964..16962b49 100644 --- a/metadata-generator/tests/swift/snapshots/SwiftDemo.ir.json +++ b/metadata-generator/tests/swift/snapshots/SwiftDemo.ir.json @@ -19,6 +19,7 @@ "s:9SwiftDemo0B0C", "s:9SwiftDemo5PointV", "s:9SwiftDemo6FlavorO", + "s:9SwiftDemo10ThermostatC", "s:9SwiftDemo8GreetingP", "s:9SwiftDemo6ScorerP", "s:9SwiftDemo12RankedScorerP", @@ -137,6 +138,7 @@ "externalNames": { "c:objc(cs)NSObject": "ObjectiveC.NSObject", "c:objc(pl)NSObject": "ObjectiveC.NSObjectProtocol", + "s:11Observation10ObservableP": "Observation.Observable", "s:SH": "Swift.Hashable", "s:SQ": "Swift.Equatable", "s:SS": "Swift.String", @@ -1490,6 +1492,160 @@ "graph": "SwiftDemo.symbols.json", "parent": "s:9SwiftDemo10ShapeErrorO" }, + { + "id": "s:9SwiftDemo10ThermostatC", + "kind": "class", + "path": "Thermostat", + "name": "Thermostat", + "access": "public", + "declaration": "final class Thermostat", + "modifiers": [ + "final" + ], + "availability": [ + { + "domain": "iOS", + "introduced": "17.0.0" + } + ], + "location": "file://Sources/SwiftDemo/Observing.swift:6:31", + "graph": "SwiftDemo.symbols.json", + "members": [ + "s:9SwiftDemo10ThermostatC7celsiusSdvp", + "s:9SwiftDemo10ThermostatC5labelSSvp", + "s:9SwiftDemo10ThermostatCACycfc", + "s:9SwiftDemo10ThermostatC4warm2byySd_tF", + "s:9SwiftDemo10ThermostatC9warmLater2byySd_tF" + ], + "conformances": [ + "s:11Observation10ObservableP", + "s:s8CopyableP", + "s:s9EscapableP" + ] + }, + { + "id": "s:9SwiftDemo10ThermostatC4warm2byySd_tF", + "kind": "instanceMethod", + "path": "Thermostat.warm(by:)", + "name": "warm(by:)", + "access": "public", + "declaration": "func warm(by delta: Double)", + "parameters": [ + { + "label": "by", + "internalName": "delta", + "type": { + "spelling": "Double", + "references": [ + "s:Sd" + ] + } + } + ], + "availability": [ + { + "domain": "iOS", + "introduced": "17.0.0" + } + ], + "location": "file://Sources/SwiftDemo/Observing.swift:12:16", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo10ThermostatC" + }, + { + "id": "s:9SwiftDemo10ThermostatC5labelSSvp", + "kind": "instanceProperty", + "path": "Thermostat.label", + "name": "label", + "access": "public", + "declaration": "var label: String { get set }", + "valueType": { + "spelling": "String", + "references": [ + "s:SS" + ] + }, + "settable": true, + "availability": [ + { + "domain": "iOS", + "introduced": "17.0.0" + } + ], + "location": "file://Sources/SwiftDemo/Observing.swift:8:15", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo10ThermostatC" + }, + { + "id": "s:9SwiftDemo10ThermostatC7celsiusSdvp", + "kind": "instanceProperty", + "path": "Thermostat.celsius", + "name": "celsius", + "access": "public", + "declaration": "var celsius: Double { get set }", + "valueType": { + "spelling": "Double", + "references": [ + "s:Sd" + ] + }, + "settable": true, + "availability": [ + { + "domain": "iOS", + "introduced": "17.0.0" + } + ], + "location": "file://Sources/SwiftDemo/Observing.swift:7:15", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo10ThermostatC" + }, + { + "id": "s:9SwiftDemo10ThermostatC9warmLater2byySd_tF", + "kind": "instanceMethod", + "path": "Thermostat.warmLater(by:)", + "name": "warmLater(by:)", + "access": "public", + "declaration": "func warmLater(by delta: Double)", + "parameters": [ + { + "label": "by", + "internalName": "delta", + "type": { + "spelling": "Double", + "references": [ + "s:Sd" + ] + } + } + ], + "availability": [ + { + "domain": "iOS", + "introduced": "17.0.0" + } + ], + "location": "file://Sources/SwiftDemo/Observing.swift:14:16", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo10ThermostatC" + }, + { + "id": "s:9SwiftDemo10ThermostatCACycfc", + "kind": "initializer", + "path": "Thermostat.init()", + "name": "init()", + "access": "public", + "declaration": "init()", + "availability": [ + { + "domain": "iOS", + "introduced": "17.0.0" + } + ], + "location": "file://Sources/SwiftDemo/Observing.swift:10:11", + "graph": "SwiftDemo.symbols.json", + "parent": "s:9SwiftDemo10ThermostatC" + }, { "id": "s:9SwiftDemo10allFlavorsSayAA6FlavorOGyF", "kind": "function", diff --git a/metadata-generator/tests/swift/snapshots/SwiftDemo.probe.swift b/metadata-generator/tests/swift/snapshots/SwiftDemo.probe.swift index c9d25fe6..429742f1 100644 --- a/metadata-generator/tests/swift/snapshots/SwiftDemo.probe.swift +++ b/metadata-generator/tests/swift/snapshots/SwiftDemo.probe.swift @@ -230,959 +230,995 @@ func __nsProbe46() { let _: SwiftDemo.ShapeError = SwiftDemo.ShapeError.`unknown` } +// s:9SwiftDemo10ThermostatC +@available(iOS 17.0, *) +func __nsProbe47(_ value: SwiftDemo.Thermostat) -> SwiftDemo.Thermostat { value } + +// s:9SwiftDemo10ThermostatC4warm2byySd_tF +@available(iOS 17.0, *) +func __nsProbe48(_ receiver: SwiftDemo.Thermostat, _ a0: Double) { + let _: Void = receiver.`warm`(by: a0) +} + +// s:9SwiftDemo10ThermostatC5labelSSvp +@available(iOS 17.0, *) +func __nsProbe49(_ receiver: SwiftDemo.Thermostat, _ newValue: String) { + let _: String = receiver.`label` + receiver.`label` = newValue +} + +// s:9SwiftDemo10ThermostatC7celsiusSdvp +@available(iOS 17.0, *) +func __nsProbe50(_ receiver: SwiftDemo.Thermostat, _ newValue: Double) { + let _: Double = receiver.`celsius` + receiver.`celsius` = newValue +} + +// s:9SwiftDemo10ThermostatC9warmLater2byySd_tF +@available(iOS 17.0, *) +func __nsProbe51(_ receiver: SwiftDemo.Thermostat, _ a0: Double) { + let _: Void = receiver.`warmLater`(by: a0) +} + +// s:9SwiftDemo10ThermostatCACycfc +@available(iOS 17.0, *) +func __nsProbe52() { + let _: SwiftDemo.Thermostat = SwiftDemo.Thermostat() +} + // s:9SwiftDemo10allFlavorsSayAA6FlavorOGyF -func __nsProbe47() { +func __nsProbe53() { let _: [SwiftDemo.Flavor] = SwiftDemo.`allFlavors`() } // s:9SwiftDemo10echoUInt64ys0D0VADF -func __nsProbe48(_ a0: UInt64) { +func __nsProbe54(_ a0: UInt64) { let _: UInt64 = SwiftDemo.`echoUInt64`(a0) } // s:9SwiftDemo10greetLater_10completionySSSg_yADYbctF -func __nsProbe49(_ a0: String?, _ a1: @escaping @Sendable (String?) -> Void) { +func __nsProbe55(_ a0: String?, _ a1: @escaping @Sendable (String?) -> Void) { let _: Void = SwiftDemo.`greetLater`(a0, completion: a1) } // s:9SwiftDemo10largestIntSiyF -func __nsProbe50() { +func __nsProbe56() { let _: Int = SwiftDemo.`largestInt`() } // s:9SwiftDemo10makeScorerAA0D0_pyF -func __nsProbe51() { +func __nsProbe57() { let _: any SwiftDemo.Scorer = SwiftDemo.`makeScorer`() } // s:9SwiftDemo10namesLaterySaySSGSiYaF -func __nsProbe52(_ a0: Int) async { +func __nsProbe58(_ a0: Int) async { let _: [String] = await SwiftDemo.`namesLater`(a0) } // s:9SwiftDemo10wordCountsySDySSSiGSaySSGF -func __nsProbe53(_ a0: [String]) { +func __nsProbe59(_ a0: [String]) { let _: [String: Int] = SwiftDemo.`wordCounts`(a0) } // s:9SwiftDemo11MeasurementO -func __nsProbe54(_ value: SwiftDemo.Measurement) -> SwiftDemo.Measurement { value } +func __nsProbe60(_ value: SwiftDemo.Measurement) -> SwiftDemo.Measurement { value } // s:9SwiftDemo11MeasurementO4UnitV -func __nsProbe55(_ value: SwiftDemo.Measurement.Unit) -> SwiftDemo.Measurement.Unit { value } +func __nsProbe61(_ value: SwiftDemo.Measurement.Unit) -> SwiftDemo.Measurement.Unit { value } // s:9SwiftDemo11MeasurementO4UnitV6symbolAESS_tcfc -func __nsProbe56(_ a0: String) { +func __nsProbe62(_ a0: String) { let _: SwiftDemo.Measurement.Unit = SwiftDemo.Measurement.Unit(symbol: a0) } // s:9SwiftDemo11MeasurementO4UnitV6symbolSSvp -func __nsProbe57(_ receiver: inout SwiftDemo.Measurement.Unit, _ newValue: String) { +func __nsProbe63(_ receiver: inout SwiftDemo.Measurement.Unit, _ newValue: String) { let _: String = receiver.`symbol` receiver.`symbol` = newValue } // s:9SwiftDemo11MeasurementO4areayACSd_SdtcACmF -func __nsProbe58(_ a0: Double, _ a1: Double) { +func __nsProbe64(_ a0: Double, _ a1: Double) { let _: SwiftDemo.Measurement = SwiftDemo.Measurement.`area`(width: a0, height: a1) } // s:9SwiftDemo11MeasurementO4noneyA2CmF -func __nsProbe59() { +func __nsProbe65() { let _: SwiftDemo.Measurement = SwiftDemo.Measurement.`none` } // s:9SwiftDemo11MeasurementO6isNoneSbvp -func __nsProbe60(_ receiver: SwiftDemo.Measurement) { +func __nsProbe66(_ receiver: SwiftDemo.Measurement) { let _: Bool = receiver.`isNone` } // s:9SwiftDemo11MeasurementO6lengthyACSdcACmF -func __nsProbe61(_ a0: Double) { +func __nsProbe67(_ a0: Double) { let _: SwiftDemo.Measurement = SwiftDemo.Measurement.`length`(a0) } // s:9SwiftDemo11checkedSideyS2dKF -func __nsProbe62(_ a0: Double) throws { +func __nsProbe68(_ a0: Double) throws { let _: Double = try SwiftDemo.`checkedSide`(a0) } // s:9SwiftDemo11delayedEcho_5afterS2S_SdtYaKF -func __nsProbe63(_ a0: String, _ a1: Double) async throws { +func __nsProbe69(_ a0: String, _ a1: Double) async throws { let _: String = try await SwiftDemo.`delayedEcho`(a0, after: a1) } // s:9SwiftDemo12RankedScorerP -func __nsProbe64(_ value: any SwiftDemo.RankedScorer) -> any SwiftDemo.RankedScorer { value } +func __nsProbe70(_ value: any SwiftDemo.RankedScorer) -> any SwiftDemo.RankedScorer { value } // s:9SwiftDemo12RankedScorerP4rankSiSgvp -func __nsProbe65(_ receiver: any SwiftDemo.RankedScorer) { +func __nsProbe71(_ receiver: any SwiftDemo.RankedScorer) { let _: Int? = receiver.`rank` } // s:9SwiftDemo12firstSubview2ofSo6UIViewCSgAE_tF -func __nsProbe66(_ a0: UIView) { +func __nsProbe72(_ a0: UIView) { let _: UIView? = SwiftDemo.`firstSubview`(of: a0) } // s:9SwiftDemo12makeGreetingyAA0D0_pSSF -func __nsProbe67(_ a0: String) { +func __nsProbe73(_ a0: String) { let _: any SwiftDemo.Greeting = SwiftDemo.`makeGreeting`(a0) } // s:9SwiftDemo12measureLateryAA11MeasurementOSdYaF -func __nsProbe68(_ a0: Double) async { +func __nsProbe74(_ a0: Double) async { let _: SwiftDemo.Measurement = await SwiftDemo.`measureLater`(a0) } // s:9SwiftDemo12measurementsSayAA11MeasurementOGyF -func __nsProbe69() { +func __nsProbe75() { let _: [SwiftDemo.Measurement] = SwiftDemo.`measurements`() } // s:9SwiftDemo12swapTrackersyyAA7TrackerCz_ADztF -func __nsProbe70(_ a0: inout SwiftDemo.Tracker, _ a1: inout SwiftDemo.Tracker) { +func __nsProbe76(_ a0: inout SwiftDemo.Tracker, _ a1: inout SwiftDemo.Tracker) { let _: Void = SwiftDemo.`swapTrackers`(&a0, &a1) } // s:9SwiftDemo13PrecipitationO -func __nsProbe71(_ value: SwiftDemo.Precipitation) -> SwiftDemo.Precipitation { value } +func __nsProbe77(_ value: SwiftDemo.Precipitation) -> SwiftDemo.Precipitation { value } // s:9SwiftDemo13PrecipitationO4noneyA2CmF -func __nsProbe72() { +func __nsProbe78() { let _: SwiftDemo.Precipitation = SwiftDemo.Precipitation.`none` } // s:9SwiftDemo13PrecipitationO4rainyA2CmF -func __nsProbe73() { +func __nsProbe79() { let _: SwiftDemo.Precipitation = SwiftDemo.Precipitation.`rain` } // s:9SwiftDemo13PrecipitationO4snowyA2CmF -func __nsProbe74() { +func __nsProbe80() { let _: SwiftDemo.Precipitation = SwiftDemo.Precipitation.`snow` } // s:9SwiftDemo13PrecipitationO8rawValueACSgSS_tcfc -func __nsProbe75(_ a0: String) { +func __nsProbe81(_ a0: String) { let _: SwiftDemo.Precipitation? = SwiftDemo.Precipitation(rawValue: a0) } // s:9SwiftDemo13defaultFlavorAA0D0Ovp -func __nsProbe76() { +func __nsProbe82() { let _: SwiftDemo.Flavor = SwiftDemo.`defaultFlavor` } // s:9SwiftDemo13globalCounterSivp -func __nsProbe77(_ newValue: Int) { +func __nsProbe83(_ newValue: Int) { let _: Int = SwiftDemo.`globalCounter` SwiftDemo.`globalCounter` = newValue } // s:9SwiftDemo13starterWallet3for0aB3Kit0D0CSS_tF -func __nsProbe78(_ a0: String) { +func __nsProbe84(_ a0: String) { let _: SwiftDemoKit.Wallet = SwiftDemo.`starterWallet`(for: a0) } // s:9SwiftDemo14DoublingScorerV -func __nsProbe79(_ value: SwiftDemo.DoublingScorer) -> SwiftDemo.DoublingScorer { value } +func __nsProbe85(_ value: SwiftDemo.DoublingScorer) -> SwiftDemo.DoublingScorer { value } // s:9SwiftDemo14DoublingScorerV5scoreyS2iF -func __nsProbe80(_ receiver: SwiftDemo.DoublingScorer, _ a0: Int) { +func __nsProbe86(_ receiver: SwiftDemo.DoublingScorer, _ a0: Int) { let _: Int = receiver.`score`(a0) } // s:9SwiftDemo14DoublingScorerVACycfc -func __nsProbe81() { +func __nsProbe87() { let _: SwiftDemo.DoublingScorer = SwiftDemo.DoublingScorer() } // s:9SwiftDemo14FormalGreetingC -func __nsProbe82(_ value: SwiftDemo.FormalGreeting) -> SwiftDemo.FormalGreeting { value } +func __nsProbe88(_ value: SwiftDemo.FormalGreeting) -> SwiftDemo.FormalGreeting { value } // s:9SwiftDemo14FormalGreetingC11punctuationSSvp -func __nsProbe83(_ receiver: SwiftDemo.FormalGreeting, _ newValue: String) { +func __nsProbe89(_ receiver: SwiftDemo.FormalGreeting, _ newValue: String) { let _: String = receiver.`punctuation` receiver.`punctuation` = newValue } // s:9SwiftDemo14FormalGreetingC4nameACSS_tcfc -func __nsProbe84(_ a0: String) { +func __nsProbe90(_ a0: String) { let _: SwiftDemo.FormalGreeting = SwiftDemo.FormalGreeting(name: a0) } // s:9SwiftDemo14FormalGreetingC4nameSSvp -func __nsProbe85(_ receiver: SwiftDemo.FormalGreeting) { +func __nsProbe91(_ receiver: SwiftDemo.FormalGreeting) { let _: String = receiver.`name` } // s:9SwiftDemo14FormalGreetingC5greetyS2SF -func __nsProbe86(_ receiver: SwiftDemo.FormalGreeting, _ a0: String) { +func __nsProbe92(_ receiver: SwiftDemo.FormalGreeting, _ a0: String) { let _: String = receiver.`greet`(a0) } // s:9SwiftDemo14FormalGreetingC5resetyyF -func __nsProbe87(_ receiver: SwiftDemo.FormalGreeting) { +func __nsProbe93(_ receiver: SwiftDemo.FormalGreeting) { let _: Void = receiver.`reset`() } // s:9SwiftDemo14GreetingHolderC -func __nsProbe88(_ value: SwiftDemo.GreetingHolder) -> SwiftDemo.GreetingHolder { value } +func __nsProbe94(_ value: SwiftDemo.GreetingHolder) -> SwiftDemo.GreetingHolder { value } // s:9SwiftDemo14GreetingHolderC5greetySSSgSSF -func __nsProbe89(_ receiver: SwiftDemo.GreetingHolder, _ a0: String) { +func __nsProbe95(_ receiver: SwiftDemo.GreetingHolder, _ a0: String) { let _: String? = receiver.`greet`(a0) } // s:9SwiftDemo14GreetingHolderC8greetingAA0C0_pSgvp -func __nsProbe90(_ receiver: SwiftDemo.GreetingHolder, _ newValue: (any SwiftDemo.Greeting)?) { +func __nsProbe96(_ receiver: SwiftDemo.GreetingHolder, _ newValue: (any SwiftDemo.Greeting)?) { let _: (any SwiftDemo.Greeting)? = receiver.`greeting` receiver.`greeting` = newValue } // s:9SwiftDemo14GreetingHolderCACycfc -func __nsProbe91() { +func __nsProbe97() { let _: SwiftDemo.GreetingHolder = SwiftDemo.GreetingHolder() } // s:9SwiftDemo16makeDefaultPointAA0E0VyF -func __nsProbe92() { +func __nsProbe98() { let _: SwiftDemo.Point = SwiftDemo.`makeDefaultPoint`() } // s:9SwiftDemo16makeTrackerLater2idAA0D0CSi_tYaF -func __nsProbe93(_ a0: Int) async { +func __nsProbe99(_ a0: Int) async { let _: SwiftDemo.Tracker = await SwiftDemo.`makeTrackerLater`(id: a0) } // s:9SwiftDemo17greetInBackgroundySSAA8Greeting_pYaF -func __nsProbe94(_ a0: any SwiftDemo.Greeting) async { +func __nsProbe100(_ a0: any SwiftDemo.Greeting) async { let _: String = await SwiftDemo.`greetInBackground`(a0) } // s:9SwiftDemo3JobO6TicketV -func __nsProbe95(_ value: SwiftDemo.Job.Ticket) -> SwiftDemo.Job.Ticket { value } +func __nsProbe101(_ value: SwiftDemo.Job.Ticket) -> SwiftDemo.Job.Ticket { value } // s:9SwiftDemo3JobO6TicketV2idAESi_tcfc -func __nsProbe96(_ a0: Int) { +func __nsProbe102(_ a0: Int) { let _: SwiftDemo.Job.Ticket = SwiftDemo.Job.Ticket(id: a0) } // s:9SwiftDemo3JobO6TicketV2idSivp -func __nsProbe97(_ receiver: inout SwiftDemo.Job.Ticket, _ newValue: Int) { +func __nsProbe103(_ receiver: inout SwiftDemo.Job.Ticket, _ newValue: Int) { let _: Int = receiver.`id` receiver.`id` = newValue } // s:9SwiftDemo3sum2of0aB3Kit5MoneyVSayAFG_tF -func __nsProbe98(_ a0: [SwiftDemoKit.Money]) { +func __nsProbe104(_ a0: [SwiftDemoKit.Money]) { let _: SwiftDemoKit.Money = SwiftDemo.`sum`(of: a0) } // s:9SwiftDemo4RingV -func __nsProbe99(_ value: SwiftDemo.Ring) -> SwiftDemo.Ring { value } +func __nsProbe105(_ value: SwiftDemo.Ring) -> SwiftDemo.Ring { value } // s:9SwiftDemo4RingV5inner5outerAcA5PointV_AGtcfc -func __nsProbe100(_ a0: SwiftDemo.Point, _ a1: SwiftDemo.Point) { +func __nsProbe106(_ a0: SwiftDemo.Point, _ a1: SwiftDemo.Point) { let _: SwiftDemo.Ring = SwiftDemo.Ring(inner: a0, outer: a1) } // s:9SwiftDemo4RingV5innerAA5PointVvp -func __nsProbe101(_ receiver: inout SwiftDemo.Ring, _ newValue: SwiftDemo.Point) { +func __nsProbe107(_ receiver: inout SwiftDemo.Ring, _ newValue: SwiftDemo.Point) { let _: SwiftDemo.Point = receiver.`inner` receiver.`inner` = newValue } // s:9SwiftDemo4RingV5outerAA5PointVvp -func __nsProbe102(_ receiver: inout SwiftDemo.Ring, _ newValue: SwiftDemo.Point) { +func __nsProbe108(_ receiver: inout SwiftDemo.Ring, _ newValue: SwiftDemo.Point) { let _: SwiftDemo.Point = receiver.`outer` receiver.`outer` = newValue } // s:9SwiftDemo4RingV6expand2byySd_tF -func __nsProbe103(_ receiver: inout SwiftDemo.Ring, _ a0: Double) { +func __nsProbe109(_ receiver: inout SwiftDemo.Ring, _ a0: Double) { let _: Void = receiver.`expand`(by: a0) } // s:9SwiftDemo4area2ofSdAA11MeasurementO_tF -func __nsProbe104(_ a0: SwiftDemo.Measurement) { +func __nsProbe110(_ a0: SwiftDemo.Measurement) { let _: Double = SwiftDemo.`area`(of: a0) } // s:9SwiftDemo4bumpyySizF -func __nsProbe105(_ a0: inout Int) { +func __nsProbe111(_ a0: inout Int) { let _: Void = SwiftDemo.`bump`(&a0) } // s:9SwiftDemo4echoyAA7PayloadOADF -func __nsProbe106(_ a0: SwiftDemo.Payload) { +func __nsProbe112(_ a0: SwiftDemo.Payload) { let _: SwiftDemo.Payload = SwiftDemo.`echo`(a0) } // s:9SwiftDemo4flipy0aB3Kit4CoinOAEF -func __nsProbe107(_ a0: SwiftDemoKit.Coin) { +func __nsProbe113(_ a0: SwiftDemoKit.Coin) { let _: SwiftDemoKit.Coin = SwiftDemo.`flip`(a0) } // s:9SwiftDemo4host2ofSSSg10Foundation3URLV_tF -func __nsProbe108(_ a0: URL) { +func __nsProbe114(_ a0: URL) { let _: String? = SwiftDemo.`host`(of: a0) } // s:9SwiftDemo4rampy10Foundation4DataVSiF -func __nsProbe109(_ a0: Int) { +func __nsProbe115(_ a0: Int) { let _: Data = SwiftDemo.`ramp`(a0) } // s:9SwiftDemo4sameyAA8Greeting_pAaC_pF -func __nsProbe110(_ a0: any SwiftDemo.Greeting) { +func __nsProbe116(_ a0: any SwiftDemo.Greeting) { let _: any SwiftDemo.Greeting = SwiftDemo.`same`(a0) } // s:9SwiftDemo4tagsySaySiGSaySo6UIViewCGF -func __nsProbe111(_ a0: [UIView]) { +func __nsProbe117(_ a0: [UIView]) { let _: [Int] = SwiftDemo.`tags`(a0) } // s:9SwiftDemo4text2ofSSAA4NoteC_tF -func __nsProbe112(_ a0: SwiftDemo.Note) { +func __nsProbe118(_ a0: SwiftDemo.Note) { let _: String = SwiftDemo.`text`(of: a0) } // s:9SwiftDemo5PointV -func __nsProbe113(_ value: SwiftDemo.Point) -> SwiftDemo.Point { value } +func __nsProbe119(_ value: SwiftDemo.Point) -> SwiftDemo.Point { value } // s:9SwiftDemo5PointV11descriptionSSvp -func __nsProbe114(_ receiver: SwiftDemo.Point) { +func __nsProbe120(_ receiver: SwiftDemo.Point) { let _: String = receiver.`description` } // s:9SwiftDemo5PointV1x1yACSd_Sdtcfc -func __nsProbe115(_ a0: Double, _ a1: Double) { +func __nsProbe121(_ a0: Double, _ a1: Double) { let _: SwiftDemo.Point = SwiftDemo.Point(x: a0, y: a1) } // s:9SwiftDemo5PointV1xSdvp -func __nsProbe116(_ receiver: inout SwiftDemo.Point, _ newValue: Double) { +func __nsProbe122(_ receiver: inout SwiftDemo.Point, _ newValue: Double) { let _: Double = receiver.`x` receiver.`x` = newValue } // s:9SwiftDemo5PointV1ySdvp -func __nsProbe117(_ receiver: inout SwiftDemo.Point, _ newValue: Double) { +func __nsProbe123(_ receiver: inout SwiftDemo.Point, _ newValue: Double) { let _: Double = receiver.`y` receiver.`y` = newValue } // s:9SwiftDemo5PointV6lengthSdvp -func __nsProbe118(_ receiver: SwiftDemo.Point) { +func __nsProbe124(_ receiver: SwiftDemo.Point) { let _: Double = receiver.`length` } // s:9SwiftDemo5boxedy0aB3Kit3BoxCyAC5MoneyVGAGF -func __nsProbe119(_ a0: SwiftDemoKit.Money) { +func __nsProbe125(_ a0: SwiftDemoKit.Money) { let _: SwiftDemoKit.Box = SwiftDemo.`boxed`(a0) } // s:9SwiftDemo5clearyySSSgzF -func __nsProbe120(_ a0: inout String?) { +func __nsProbe126(_ a0: inout String?) { let _: Void = SwiftDemo.`clear`(&a0) } // s:9SwiftDemo5halveyySizKF -func __nsProbe121(_ a0: inout Int) throws { +func __nsProbe127(_ a0: inout Int) throws { let _: Void = try SwiftDemo.`halve`(&a0) } // s:9SwiftDemo5namesySaySSGSiF -func __nsProbe122(_ a0: Int) { +func __nsProbe128(_ a0: Int) { let _: [String] = SwiftDemo.`names`(a0) } // s:9SwiftDemo5shoutySSSgACF -func __nsProbe123(_ a0: String?) { +func __nsProbe129(_ a0: String?) { let _: String? = SwiftDemo.`shout`(a0) } // s:9SwiftDemo5totalySdSaySdGF -func __nsProbe124(_ a0: [Double]) { +func __nsProbe130(_ a0: [Double]) { let _: Double = SwiftDemo.`total`(a0) } // s:9SwiftDemo6CanvasC -func __nsProbe125(_ value: SwiftDemo.Canvas) -> SwiftDemo.Canvas { value } +func __nsProbe131(_ value: SwiftDemo.Canvas) -> SwiftDemo.Canvas { value } // s:9SwiftDemo6CanvasCACycfc @MainActor -func __nsProbe126() { +func __nsProbe132() { let _: SwiftDemo.Canvas = SwiftDemo.Canvas() } // s:9SwiftDemo6FlavorO -func __nsProbe127(_ value: SwiftDemo.Flavor) -> SwiftDemo.Flavor { value } +func __nsProbe133(_ value: SwiftDemo.Flavor) -> SwiftDemo.Flavor { value } // s:9SwiftDemo6FlavorO11descriptionSSvp -func __nsProbe128(_ receiver: SwiftDemo.Flavor) { +func __nsProbe134(_ receiver: SwiftDemo.Flavor) { let _: String = receiver.`description` } // s:9SwiftDemo6FlavorO7vanillayA2CmF -func __nsProbe129() { +func __nsProbe135() { let _: SwiftDemo.Flavor = SwiftDemo.Flavor.`vanilla` } // s:9SwiftDemo6FlavorO8rawValueACSgSi_tcfc -func __nsProbe130(_ a0: Int) { +func __nsProbe136(_ a0: Int) { let _: SwiftDemo.Flavor? = SwiftDemo.Flavor(rawValue: a0) } // s:9SwiftDemo6FlavorO9chocolateyA2CmF -func __nsProbe131() { +func __nsProbe137() { let _: SwiftDemo.Flavor = SwiftDemo.Flavor.`chocolate` } // s:9SwiftDemo6LoaderC -func __nsProbe132(_ value: SwiftDemo.Loader) -> SwiftDemo.Loader { value } +func __nsProbe138(_ value: SwiftDemo.Loader) -> SwiftDemo.Loader { value } // s:9SwiftDemo6LoaderC10modernOnlyyyF @available(iOS 16.0, *) -func __nsProbe133(_ receiver: SwiftDemo.Loader) { +func __nsProbe139(_ receiver: SwiftDemo.Loader) { let _: Void = receiver.`modernOnly`() } // s:9SwiftDemo6LoaderC11legacyFetchyyF -func __nsProbe134(_ receiver: SwiftDemo.Loader) { +func __nsProbe140(_ receiver: SwiftDemo.Loader) { let _: Void = receiver.`legacyFetch`() } // s:9SwiftDemo6LoaderC4eachyyySiXEF -func __nsProbe135(_ receiver: SwiftDemo.Loader, _ a0: (Int) -> Void) { +func __nsProbe141(_ receiver: SwiftDemo.Loader, _ a0: (Int) -> Void) { let _: Void = receiver.`each`(a0) } // s:9SwiftDemo6LoaderC4load4path10Foundation4DataVSS_tKF -func __nsProbe136(_ receiver: SwiftDemo.Loader, _ a0: String) throws { +func __nsProbe142(_ receiver: SwiftDemo.Loader, _ a0: String) throws { let _: Data = try receiver.`load`(path: a0) } // s:9SwiftDemo6LoaderC4wait7secondsySd_tYaF -func __nsProbe137(_ receiver: SwiftDemo.Loader, _ a0: Double) async { +func __nsProbe143(_ receiver: SwiftDemo.Loader, _ a0: Double) async { let _: Void = await receiver.`wait`(seconds: a0) } // s:9SwiftDemo6LoaderC5fetch3urlSS10Foundation3URLV_tYaKF -func __nsProbe138(_ receiver: SwiftDemo.Loader, _ a0: URL) async throws { +func __nsProbe144(_ receiver: SwiftDemo.Loader, _ a0: URL) async throws { let _: String = try await receiver.`fetch`(url: a0) } // s:9SwiftDemo6LoaderC6lookup5table3keySiSgSDySSSiG_SStF -func __nsProbe139(_ receiver: SwiftDemo.Loader, _ a0: [String: Int], _ a1: String) { +func __nsProbe145(_ receiver: SwiftDemo.Loader, _ a0: [String: Int], _ a1: String) { let _: Int? = receiver.`lookup`(table: a0, key: a1) } // s:9SwiftDemo6LoaderC6updateyyAA5PointVzF -func __nsProbe140(_ receiver: SwiftDemo.Loader, _ a0: inout SwiftDemo.Point) { +func __nsProbe146(_ receiver: SwiftDemo.Loader, _ a0: inout SwiftDemo.Point) { let _: Void = receiver.`update`(&a0) } // s:9SwiftDemo6LoaderC8oldFetchyyF -func __nsProbe141(_ receiver: SwiftDemo.Loader) { +func __nsProbe147(_ receiver: SwiftDemo.Loader) { let _: Void = receiver.`oldFetch`() } // s:9SwiftDemo6LoaderCACycfc -func __nsProbe142() { +func __nsProbe148() { let _: SwiftDemo.Loader = SwiftDemo.Loader() } // s:9SwiftDemo6ScorerP -func __nsProbe143(_ value: any SwiftDemo.Scorer) -> any SwiftDemo.Scorer { value } +func __nsProbe149(_ value: any SwiftDemo.Scorer) -> any SwiftDemo.Scorer { value } // s:9SwiftDemo6ScorerP5scoreyS2iKF -func __nsProbe144(_ receiver: any SwiftDemo.Scorer, _ a0: Int) throws { +func __nsProbe150(_ receiver: any SwiftDemo.Scorer, _ a0: Int) throws { let _: Int = try receiver.`score`(a0) } // s:9SwiftDemo6SquareC -func __nsProbe145(_ value: SwiftDemo.Square) -> SwiftDemo.Square { value } +func __nsProbe151(_ value: SwiftDemo.Square) -> SwiftDemo.Square { value } // s:9SwiftDemo6SquareC4areaSdvp -func __nsProbe146(_ receiver: SwiftDemo.Square) { +func __nsProbe152(_ receiver: SwiftDemo.Square) { let _: Double = receiver.`area` } // s:9SwiftDemo6SquareC4sideACSd_tcfc -func __nsProbe147(_ a0: Double) { +func __nsProbe153(_ a0: Double) { let _: SwiftDemo.Square = SwiftDemo.Square(side: a0) } // s:9SwiftDemo6SquareC4sideSdvp -func __nsProbe148(_ receiver: SwiftDemo.Square, _ newValue: Double) { +func __nsProbe154(_ receiver: SwiftDemo.Square, _ newValue: Double) { let _: Double = receiver.`side` receiver.`side` = newValue } // s:9SwiftDemo6SquareC5greet4nameS2S_tF -func __nsProbe149(_ receiver: SwiftDemo.Square, _ a0: String) { +func __nsProbe155(_ receiver: SwiftDemo.Square, _ a0: String) { let _: String = receiver.`greet`(name: a0) } // s:9SwiftDemo6SquareC5scale2byySd_tF -func __nsProbe150(_ receiver: SwiftDemo.Square, _ a0: Double) { +func __nsProbe156(_ receiver: SwiftDemo.Square, _ a0: Double) { let _: Void = receiver.`scale`(by: a0) } // s:9SwiftDemo6SquareC5sidesSivpZ -func __nsProbe151() { +func __nsProbe157() { let _: Int = SwiftDemo.Square.`sides` } // s:9SwiftDemo6append_2toySS_SaySSGztF -func __nsProbe152(_ a0: String, _ a1: inout [String]) { +func __nsProbe158(_ a0: String, _ a1: inout [String]) { let _: Void = SwiftDemo.`append`(a0, to: &a1) } // s:9SwiftDemo6exciteyyAA8Greeting_pF -func __nsProbe153(_ a0: any SwiftDemo.Greeting) { +func __nsProbe159(_ a0: any SwiftDemo.Greeting) { let _: Void = SwiftDemo.`excite`(a0) } // s:9SwiftDemo6settley0aB3Kit7OutcomeOySiGSiF -func __nsProbe154(_ a0: Int) { +func __nsProbe160(_ a0: Int) { let _: SwiftDemoKit.Outcome = SwiftDemo.`settle`(a0) } // s:9SwiftDemo7CounterC -func __nsProbe155(_ value: SwiftDemo.Counter) -> SwiftDemo.Counter { value } +func __nsProbe161(_ value: SwiftDemo.Counter) -> SwiftDemo.Counter { value } // s:9SwiftDemo7CounterC4stepSivp -func __nsProbe156(_ receiver: SwiftDemo.Counter) async { +func __nsProbe162(_ receiver: SwiftDemo.Counter) async { let _: Int = await receiver.`step` } // s:9SwiftDemo7CounterC5labelSSyF -func __nsProbe157(_ receiver: SwiftDemo.Counter) { +func __nsProbe163(_ receiver: SwiftDemo.Counter) { let _: String = receiver.`label`() } // s:9SwiftDemo7CounterC5valueSivp -func __nsProbe158(_ receiver: SwiftDemo.Counter) async { +func __nsProbe164(_ receiver: SwiftDemo.Counter) async { let _: Int = await receiver.`value` } // s:9SwiftDemo7CounterC9incrementSiyF -func __nsProbe159(_ receiver: SwiftDemo.Counter) async { +func __nsProbe165(_ receiver: SwiftDemo.Counter) async { let _: Int = await receiver.`increment`() } // s:9SwiftDemo7CounterCACycfc -func __nsProbe160() { +func __nsProbe166() { let _: SwiftDemo.Counter = SwiftDemo.Counter() } // s:9SwiftDemo7FormulaO -func __nsProbe161(_ value: SwiftDemo.Formula) -> SwiftDemo.Formula { value } +func __nsProbe167(_ value: SwiftDemo.Formula) -> SwiftDemo.Formula { value } // s:9SwiftDemo7FormulaO3sumyA2C_ACtcACmF -func __nsProbe162(_ a0: SwiftDemo.Formula, _ a1: SwiftDemo.Formula) { +func __nsProbe168(_ a0: SwiftDemo.Formula, _ a1: SwiftDemo.Formula) { let _: SwiftDemo.Formula = SwiftDemo.Formula.`sum`(a0, a1) } // s:9SwiftDemo7FormulaO5valueSdvp -func __nsProbe163(_ receiver: SwiftDemo.Formula) { +func __nsProbe169(_ receiver: SwiftDemo.Formula) { let _: Double = receiver.`value` } // s:9SwiftDemo7FormulaO6negateyA2CcACmF -func __nsProbe164(_ a0: SwiftDemo.Formula) { +func __nsProbe170(_ a0: SwiftDemo.Formula) { let _: SwiftDemo.Formula = SwiftDemo.Formula.`negate`(a0) } // s:9SwiftDemo7FormulaO6numberyACSdcACmF -func __nsProbe165(_ a0: Double) { +func __nsProbe171(_ a0: Double) { let _: SwiftDemo.Formula = SwiftDemo.Formula.`number`(a0) } // s:9SwiftDemo7GreeterP -func __nsProbe166(_ value: any SwiftDemo.Greeter) -> any SwiftDemo.Greeter { value } +func __nsProbe172(_ value: any SwiftDemo.Greeter) -> any SwiftDemo.Greeter { value } // s:9SwiftDemo7GreeterP5greet4nameS2S_tF -func __nsProbe167(_ receiver: any SwiftDemo.Greeter, _ a0: String) { +func __nsProbe173(_ receiver: any SwiftDemo.Greeter, _ a0: String) { let _: String = receiver.`greet`(name: a0) } // s:9SwiftDemo7PaletteC -func __nsProbe168(_ value: SwiftDemo.Palette) -> SwiftDemo.Palette { value } +func __nsProbe174(_ value: SwiftDemo.Palette) -> SwiftDemo.Palette { value } // s:9SwiftDemo7PaletteC11strokeLaterSiyYaF -func __nsProbe169(_ receiver: SwiftDemo.Palette) async { +func __nsProbe175(_ receiver: SwiftDemo.Palette) async { let _: Int = await receiver.`strokeLater`() } // s:9SwiftDemo7PaletteC6strokeSiyF @MainActor -func __nsProbe170(_ receiver: SwiftDemo.Palette) { +func __nsProbe176(_ receiver: SwiftDemo.Palette) { let _: Int = receiver.`stroke`() } // s:9SwiftDemo7PaletteC7strokesSivp @MainActor -func __nsProbe171(_ receiver: SwiftDemo.Palette) { +func __nsProbe177(_ receiver: SwiftDemo.Palette) { let _: Int = receiver.`strokes` } // s:9SwiftDemo7PaletteCACycfc @MainActor -func __nsProbe172() { +func __nsProbe178() { let _: SwiftDemo.Palette = SwiftDemo.Palette() } // s:9SwiftDemo7PayloadO -func __nsProbe173(_ value: SwiftDemo.Payload) -> SwiftDemo.Payload { value } +func __nsProbe179(_ value: SwiftDemo.Payload) -> SwiftDemo.Payload { value } // s:9SwiftDemo7PayloadO5maybeyACSiSgcACmF -func __nsProbe174(_ a0: Int?) { +func __nsProbe180(_ a0: Int?) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`maybe`(a0) } // s:9SwiftDemo7PayloadO5namesyACSaySSGcACmF -func __nsProbe175(_ a0: [String]) { +func __nsProbe181(_ a0: [String]) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`names`(a0) } // s:9SwiftDemo7PayloadO5pointyAcA5PointVcACmF -func __nsProbe176(_ a0: SwiftDemo.Point) { +func __nsProbe182(_ a0: SwiftDemo.Point) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`point`(a0) } // s:9SwiftDemo7PayloadO6flavoryAcA6FlavorOcACmF -func __nsProbe177(_ a0: SwiftDemo.Flavor) { +func __nsProbe183(_ a0: SwiftDemo.Flavor) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`flavor`(a0) } // s:9SwiftDemo7PayloadO7trackeryAcA7TrackerCcACmF -func __nsProbe178(_ a0: SwiftDemo.Tracker) { +func __nsProbe184(_ a0: SwiftDemo.Tracker) { let _: SwiftDemo.Payload = SwiftDemo.Payload.`tracker`(a0) } // s:9SwiftDemo7PolygonC -func __nsProbe179(_ value: SwiftDemo.Polygon) -> SwiftDemo.Polygon { value } +func __nsProbe185(_ value: SwiftDemo.Polygon) -> SwiftDemo.Polygon { value } // s:9SwiftDemo7PolygonC11vertexCountSivp -func __nsProbe180(_ receiver: SwiftDemo.Polygon) { +func __nsProbe186(_ receiver: SwiftDemo.Polygon) { let _: Int = receiver.`vertexCount` } // s:9SwiftDemo7PolygonC4makeACyFZ -func __nsProbe181() { +func __nsProbe187() { let _: SwiftDemo.Polygon = SwiftDemo.Polygon.`make`() } // s:9SwiftDemo7PolygonC4name11vertexCountACSS_Sitcfc -func __nsProbe182(_ a0: String, _ a1: Int) { +func __nsProbe188(_ a0: String, _ a1: Int) { let _: SwiftDemo.Polygon = SwiftDemo.Polygon(name: a0, vertexCount: a1) } // s:9SwiftDemo7PolygonC4nameACSgSS_tcfc -func __nsProbe183(_ a0: String) { +func __nsProbe189(_ a0: String) { let _: SwiftDemo.Polygon? = SwiftDemo.Polygon(name: a0) } // s:9SwiftDemo7PolygonC4nameSSvp -func __nsProbe184(_ receiver: SwiftDemo.Polygon) { +func __nsProbe190(_ receiver: SwiftDemo.Polygon) { let _: String = receiver.`name` } // s:9SwiftDemo7PolygonC5StyleO -func __nsProbe185(_ value: SwiftDemo.Polygon.Style) -> SwiftDemo.Polygon.Style { value } +func __nsProbe191(_ value: SwiftDemo.Polygon.Style) -> SwiftDemo.Polygon.Style { value } // s:9SwiftDemo7PolygonC5StyleO5solidyA2EmF -func __nsProbe186() { +func __nsProbe192() { let _: SwiftDemo.Polygon.Style = SwiftDemo.Polygon.Style.`solid` } // s:9SwiftDemo7PolygonC5StyleO6dashedyA2EmF -func __nsProbe187() { +func __nsProbe193() { let _: SwiftDemo.Polygon.Style = SwiftDemo.Polygon.Style.`dashed` } // s:9SwiftDemo7PolygonC5StyleO8rawValueAESgSS_tcfc -func __nsProbe188(_ a0: String) { +func __nsProbe194(_ a0: String) { let _: SwiftDemo.Polygon.Style? = SwiftDemo.Polygon.Style(rawValue: a0) } // s:9SwiftDemo7PolygonC5scale1x1yySd_SdtF -func __nsProbe189(_ receiver: SwiftDemo.Polygon, _ a0: Double, _ a1: Double) { +func __nsProbe195(_ receiver: SwiftDemo.Polygon, _ a0: Double, _ a1: Double) { let _: Void = receiver.`scale`(x: a0, y: a1) } // s:9SwiftDemo7PolygonC5scale2byySd_tF -func __nsProbe190(_ receiver: SwiftDemo.Polygon, _ a0: Double) { +func __nsProbe196(_ receiver: SwiftDemo.Polygon, _ a0: Double) { let _: Void = receiver.`scale`(by: a0) } // s:9SwiftDemo7PolygonC5scale2byySi_tF -func __nsProbe191(_ receiver: SwiftDemo.Polygon, _ a0: Int) { +func __nsProbe197(_ receiver: SwiftDemo.Polygon, _ a0: Int) { let _: Void = receiver.`scale`(by: a0) } // s:9SwiftDemo7PolygonC5styleAC5StyleOvp -func __nsProbe192(_ receiver: SwiftDemo.Polygon) { +func __nsProbe198(_ receiver: SwiftDemo.Polygon) { let _: SwiftDemo.Polygon.Style = receiver.`style` } // s:9SwiftDemo7PolygonC6sharedACvpZ -func __nsProbe193() { +func __nsProbe199() { let _: SwiftDemo.Polygon = SwiftDemo.Polygon.`shared` } // s:9SwiftDemo7PolygonC7MetricsV -func __nsProbe194(_ value: SwiftDemo.Polygon.Metrics) -> SwiftDemo.Polygon.Metrics { value } +func __nsProbe200(_ value: SwiftDemo.Polygon.Metrics) -> SwiftDemo.Polygon.Metrics { value } // s:9SwiftDemo7PolygonC7MetricsV9perimeterAESd_tcfc -func __nsProbe195(_ a0: Double) { +func __nsProbe201(_ a0: Double) { let _: SwiftDemo.Polygon.Metrics = SwiftDemo.Polygon.Metrics(perimeter: a0) } // s:9SwiftDemo7PolygonC7MetricsV9perimeterSdvp -func __nsProbe196(_ receiver: inout SwiftDemo.Polygon.Metrics, _ newValue: Double) { +func __nsProbe202(_ receiver: inout SwiftDemo.Polygon.Metrics, _ newValue: Double) { let _: Double = receiver.`perimeter` receiver.`perimeter` = newValue } // s:9SwiftDemo7PolygonC7metrics4sideAC7MetricsVSd_tF -func __nsProbe197(_ receiver: SwiftDemo.Polygon, _ a0: Double) { +func __nsProbe203(_ receiver: SwiftDemo.Polygon, _ a0: Double) { let _: SwiftDemo.Polygon.Metrics = receiver.`metrics`(side: a0) } // s:9SwiftDemo7PolygonC8describeySSACSgFZ -func __nsProbe198(_ a0: SwiftDemo.Polygon?) { +func __nsProbe204(_ a0: SwiftDemo.Polygon?) { let _: String = SwiftDemo.Polygon.`describe`(a0) } // s:9SwiftDemo7TrackerC -func __nsProbe199(_ value: SwiftDemo.Tracker) -> SwiftDemo.Tracker { value } +func __nsProbe205(_ value: SwiftDemo.Tracker) -> SwiftDemo.Tracker { value } // s:9SwiftDemo7TrackerC2idACSi_tcfc -func __nsProbe200(_ a0: Int) { +func __nsProbe206(_ a0: Int) { let _: SwiftDemo.Tracker = SwiftDemo.Tracker(id: a0) } // s:9SwiftDemo7TrackerC2idSivp -func __nsProbe201(_ receiver: SwiftDemo.Tracker) { +func __nsProbe207(_ receiver: SwiftDemo.Tracker) { let _: Int = receiver.`id` } // s:9SwiftDemo7TrackerC4sameACyF -func __nsProbe202(_ receiver: SwiftDemo.Tracker) { +func __nsProbe208(_ receiver: SwiftDemo.Tracker) { let _: SwiftDemo.Tracker = receiver.`same`() } // s:9SwiftDemo7TrackerC9liveCountSivpZ -func __nsProbe203() { +func __nsProbe209() { let _: Int = SwiftDemo.Tracker.`liveCount` } // s:9SwiftDemo7explainySSAA10ShapeErrorOF -func __nsProbe204(_ a0: SwiftDemo.ShapeError) { +func __nsProbe210(_ a0: SwiftDemo.ShapeError) { let _: String = SwiftDemo.`explain`(a0) } // s:9SwiftDemo7lengthsySDySSSiGSDyS2SGF -func __nsProbe205(_ a0: [String: String]) { +func __nsProbe211(_ a0: [String: String]) { let _: [String: Int] = SwiftDemo.`lengths`(a0) } // s:9SwiftDemo7measure_2byAA11MeasurementOSd_SdSgtF -func __nsProbe206(_ a0: Double, _ a1: Double?) { +func __nsProbe212(_ a0: Double, _ a1: Double?) { let _: SwiftDemo.Measurement = SwiftDemo.`measure`(a0, by: a1) } // s:9SwiftDemo7nextDay5after10Foundation4DateVAF_tF -func __nsProbe207(_ a0: Date) { +func __nsProbe213(_ a0: Date) { let _: Date = SwiftDemo.`nextDay`(after: a0) } // s:9SwiftDemo7resolve_7against10Foundation3URLVSS_AFtF -func __nsProbe208(_ a0: String, _ a1: URL) { +func __nsProbe214(_ a0: String, _ a1: URL) { let _: URL = SwiftDemo.`resolve`(a0, against: a1) } // s:9SwiftDemo7topRankySSAA12RankedScorer_pKF -func __nsProbe209(_ a0: any SwiftDemo.RankedScorer) throws { +func __nsProbe215(_ a0: any SwiftDemo.RankedScorer) throws { let _: String = try SwiftDemo.`topRank`(a0) } // s:9SwiftDemo8GreetingP -func __nsProbe210(_ value: any SwiftDemo.Greeting) -> any SwiftDemo.Greeting { value } +func __nsProbe216(_ value: any SwiftDemo.Greeting) -> any SwiftDemo.Greeting { value } // s:9SwiftDemo8GreetingP11punctuationSSvp -func __nsProbe211(_ receiver: any SwiftDemo.Greeting, _ newValue: String) { +func __nsProbe217(_ receiver: any SwiftDemo.Greeting, _ newValue: String) { let _: String = receiver.`punctuation` receiver.`punctuation` = newValue } // s:9SwiftDemo8GreetingP4nameSSvp -func __nsProbe212(_ receiver: any SwiftDemo.Greeting) { +func __nsProbe218(_ receiver: any SwiftDemo.Greeting) { let _: String = receiver.`name` } // s:9SwiftDemo8GreetingP5greetyS2SF -func __nsProbe213(_ receiver: any SwiftDemo.Greeting, _ a0: String) { +func __nsProbe219(_ receiver: any SwiftDemo.Greeting, _ a0: String) { let _: String = receiver.`greet`(a0) } // s:9SwiftDemo8GreetingP5resetyyF -func __nsProbe214(_ receiver: any SwiftDemo.Greeting) { +func __nsProbe220(_ receiver: any SwiftDemo.Greeting) { let _: Void = receiver.`reset`() } // s:9SwiftDemo8GreetingPAAE5shoutyS2SF -func __nsProbe215(_ receiver: any SwiftDemo.Greeting, _ a0: String) { +func __nsProbe221(_ receiver: any SwiftDemo.Greeting, _ a0: String) { let _: String = receiver.`shout`(a0) } // s:9SwiftDemo8GreetingPAAE5shoutyS2SF::SYNTHESIZED::s:9SwiftDemo14FormalGreetingC -func __nsProbe216(_ receiver: SwiftDemo.FormalGreeting, _ a0: String) { +func __nsProbe222(_ receiver: SwiftDemo.FormalGreeting, _ a0: String) { let _: String = receiver.`shout`(a0) } // s:9SwiftDemo8NotifierC -func __nsProbe217(_ value: SwiftDemo.Notifier) -> SwiftDemo.Notifier { value } +func __nsProbe223(_ value: SwiftDemo.Notifier) -> SwiftDemo.Notifier { value } // s:9SwiftDemo8NotifierC12publishLateryySSF -func __nsProbe218(_ receiver: SwiftDemo.Notifier, _ a0: String) { +func __nsProbe224(_ receiver: SwiftDemo.Notifier, _ a0: String) { let _: Void = receiver.`publishLater`(a0) } // s:9SwiftDemo8NotifierC5clearyyF -func __nsProbe219(_ receiver: SwiftDemo.Notifier) { +func __nsProbe225(_ receiver: SwiftDemo.Notifier) { let _: Void = receiver.`clear`() } // s:9SwiftDemo8NotifierC5countSivp -func __nsProbe220(_ receiver: SwiftDemo.Notifier) { +func __nsProbe226(_ receiver: SwiftDemo.Notifier) { let _: Int = receiver.`count` } // s:9SwiftDemo8NotifierC7publishyySSF -func __nsProbe221(_ receiver: SwiftDemo.Notifier, _ a0: String) { +func __nsProbe227(_ receiver: SwiftDemo.Notifier, _ a0: String) { let _: Void = receiver.`publish`(a0) } // s:9SwiftDemo8NotifierC9subscribeyyySSYbcF -func __nsProbe222(_ receiver: SwiftDemo.Notifier, _ a0: @escaping @Sendable (String) -> Void) { +func __nsProbe228(_ receiver: SwiftDemo.Notifier, _ a0: @escaping @Sendable (String) -> Void) { let _: Void = receiver.`subscribe`(a0) } // s:9SwiftDemo8NotifierCACycfc -func __nsProbe223() { +func __nsProbe229() { let _: SwiftDemo.Notifier = SwiftDemo.Notifier() } // s:9SwiftDemo8centroid2ofAA5PointVSayAEG_tF -func __nsProbe224(_ a0: [SwiftDemo.Point]) { +func __nsProbe230(_ a0: [SwiftDemo.Point]) { let _: SwiftDemo.Point = SwiftDemo.`centroid`(of: a0) } // s:9SwiftDemo8checksumySi10Foundation4DataVF -func __nsProbe225(_ a0: Data) { +func __nsProbe231(_ a0: Data) { let _: Int = SwiftDemo.`checksum`(a0) } // s:9SwiftDemo8countBoxy0aB3Kit0D0CySiGSiF -func __nsProbe226(_ a0: Int) { +func __nsProbe232(_ a0: Int) { let _: SwiftDemoKit.Box = SwiftDemo.`countBox`(a0) } // s:9SwiftDemo8describeySS0aB3Kit4PairVySiSSGF -func __nsProbe227(_ a0: SwiftDemoKit.Pair) { +func __nsProbe233(_ a0: SwiftDemoKit.Pair) { let _: String = SwiftDemo.`describe`(a0) } // s:9SwiftDemo8describeySSSo6UIViewCF -func __nsProbe228(_ a0: UIView) { +func __nsProbe234(_ a0: UIView) { let _: String = SwiftDemo.`describe`(a0) } // s:9SwiftDemo8echoInt8ys0D0VADF -func __nsProbe229(_ a0: Int8) { +func __nsProbe235(_ a0: Int8) { let _: Int8 = SwiftDemo.`echoInt8`(a0) } // s:9SwiftDemo8makeNoteyAA0D0CSSF -func __nsProbe230(_ a0: String) { +func __nsProbe236(_ a0: String) { let _: SwiftDemo.Note = SwiftDemo.`makeNote`(a0) } // s:9SwiftDemo8mirroredySaySaySiGGADF -func __nsProbe231(_ a0: [[Int]]) { +func __nsProbe237(_ a0: [[Int]]) { let _: [[Int]] = SwiftDemo.`mirrored`(a0) } // s:9SwiftDemo8scoreAllySaySiGAA6Scorer_p_ACtKF -func __nsProbe232(_ a0: any SwiftDemo.Scorer, _ a1: [Int]) throws { +func __nsProbe238(_ a0: any SwiftDemo.Scorer, _ a1: [Int]) throws { let _: [Int] = try SwiftDemo.`scoreAll`(a0, a1) } // s:9SwiftDemo8simplifyyAA7FormulaOADF -func __nsProbe233(_ a0: SwiftDemo.Formula) { +func __nsProbe239(_ a0: SwiftDemo.Formula) { let _: SwiftDemo.Formula = SwiftDemo.`simplify`(a0) } // s:9SwiftDemo8trackersySayAA7TrackerCGSaySiGF -func __nsProbe234(_ a0: [Int]) { +func __nsProbe240(_ a0: [Int]) { let _: [SwiftDemo.Tracker] = SwiftDemo.`trackers`(a0) } // s:9SwiftDemo9countdown4from_ySi_ySi_SbtXEtF -func __nsProbe235(_ a0: Int, _ a1: (Int, Bool) -> Void) { +func __nsProbe241(_ a0: Int, _ a1: (Int, Bool) -> Void) { let _: Void = SwiftDemo.`countdown`(from: a0, a1) } // s:9SwiftDemo9introduce_2toSSAA8Greeting_p_SStF -func __nsProbe236(_ a0: any SwiftDemo.Greeting, _ a1: String) { +func __nsProbe242(_ a0: any SwiftDemo.Greeting, _ a1: String) { let _: String = SwiftDemo.`introduce`(a0, to: a1) } // s:9SwiftDemo9makeLabelySo7UILabelCSSF @MainActor -func __nsProbe237(_ a0: String) { +func __nsProbe243(_ a0: String) { let _: UILabel = SwiftDemo.`makeLabel`(a0) } // s:9SwiftDemo9makeScorey0aB3Kit4PairVySSSiGSS_SitF -func __nsProbe238(_ a0: String, _ a1: Int) { +func __nsProbe244(_ a0: String, _ a1: Int) { let _: Score = SwiftDemo.`makeScore`(a0, a1) } // s:9SwiftDemo9noteLateryAA4NoteCSSYaF -func __nsProbe239(_ a0: String) async { +func __nsProbe245(_ a0: String) async { let _: SwiftDemo.Note = await SwiftDemo.`noteLater`(a0) } // s:9SwiftDemo9onMeasureyyyAA11MeasurementOXEF -func __nsProbe240(_ a0: (SwiftDemo.Measurement) -> Void) { +func __nsProbe246(_ a0: (SwiftDemo.Measurement) -> Void) { let _: Void = SwiftDemo.`onMeasure`(a0) } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo13PrecipitationO -func __nsProbe241(_ receiver: SwiftDemo.Precipitation) { +func __nsProbe247(_ receiver: SwiftDemo.Precipitation) { let _: Int = receiver.`hashValue` } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo6FlavorO -func __nsProbe242(_ receiver: SwiftDemo.Flavor) { +func __nsProbe248(_ receiver: SwiftDemo.Flavor) { let _: Int = receiver.`hashValue` } // s:SYsSHRzSH8RawValueSYRpzrlE04hashB0Sivp::SYNTHESIZED::s:9SwiftDemo7PolygonC5StyleO -func __nsProbe243(_ receiver: SwiftDemo.Polygon.Style) { +func __nsProbe249(_ receiver: SwiftDemo.Polygon.Style) { let _: Int = receiver.`hashValue` } // s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:9SwiftDemo10ShapeErrorO -func __nsProbe244(_ receiver: SwiftDemo.ShapeError) { +func __nsProbe250(_ receiver: SwiftDemo.ShapeError) { let _: String = receiver.`localizedDescription` } diff --git a/metadata-generator/tests/swift/snapshots/swift!SwiftDemo.d.ts b/metadata-generator/tests/swift/snapshots/swift!SwiftDemo.d.ts index 541a5832..c5334b76 100644 --- a/metadata-generator/tests/swift/snapshots/swift!SwiftDemo.d.ts +++ b/metadata-generator/tests/swift/snapshots/swift!SwiftDemo.d.ts @@ -22,6 +22,32 @@ declare module "ns:swift/SwiftDemo" { export function localizedDescription(value: ShapeError): string; } + /** + * @remarks Requires iOS 17.0; throws on earlier versions. + */ + export class Thermostat { + /** + * @remarks Requires iOS 17.0; throws on earlier versions. + */ + constructor(); + /** + * @remarks Requires iOS 17.0; throws on earlier versions. + */ + warm(delta: number): void; + /** + * @remarks Requires iOS 17.0; throws on earlier versions. + */ + label: string; + /** + * @remarks Requires iOS 17.0; throws on earlier versions. + */ + celsius: number; + /** + * @remarks Requires iOS 17.0; throws on earlier versions. + */ + warmLater(delta: number): void; + } + export type Measurement = | { case: "area"; width: number; height: number } | { case: "none" } diff --git a/types/ns-swift.d.ts b/types/ns-swift.d.ts index 094ebc20..40845322 100644 --- a/types/ns-swift.d.ts +++ b/types/ns-swift.d.ts @@ -8,6 +8,8 @@ declare module "ns:swift" { export interface SwiftModuleInfo { readonly name: string; + /** The generation unit the module's thunks belong to. */ + readonly unit: string; /** Changes whenever the module's registered surface changes. */ readonly fingerprint: string; /** Interop ABI the module's thunks were generated for. */ @@ -28,4 +30,18 @@ declare module "ns:swift" { export function module(name: string): unknown; export function info(name: string): SwiftModuleInfo; + + /** + * Runs `read`, then calls `onChange` once, when an `@Observable` property + * `read` accessed is about to change (Swift's `withObservationTracking`). + * Needs iOS 17 and a loaded Swift module. + */ + export function track(read: () => void, onChange: () => void): void; + + /** + * Calls `onChange` after each change to the `@Observable` properties + * `read` accesses, re-reading them every time. Returns a function that + * stops observing. + */ + export function observe(read: () => void, onChange: () => void): () => void; } diff --git a/v8ios.xcodeproj/project.pbxproj b/v8ios.xcodeproj/project.pbxproj index 3a2ca4b0..c2df22f6 100644 --- a/v8ios.xcodeproj/project.pbxproj +++ b/v8ios.xcodeproj/project.pbxproj @@ -350,6 +350,7 @@ EF918E4F1A6F3E39721F8C44 /* Shapes.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA98D6B239608C28AFB14F15 /* Shapes.swift */; }; 1A9C83B48771CCA1BBEA3F77 /* Values.swift in Sources */ = {isa = PBXBuildFile; fileRef = D76F7C886215EB9DB96CA88E /* Values.swift */; }; 2B7A41C09E3F4D21A6C0B001 /* Views.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B7A41C09E3F4D21A6C0B002 /* Views.swift */; }; + 5D0E5ED00000000000000017 /* Observing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D0E5ED00000000000000016 /* Observing.swift */; }; 5D0E5ED00000000000000015 /* Protocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D0E5ED00000000000000014 /* Protocols.swift */; }; 5D0E5ED00000000000000004 /* Purse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D0E5ED00000000000000003 /* Purse.swift */; }; 5D0E5ED00000000000000002 /* Money.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D0E5ED00000000000000001 /* Money.swift */; }; @@ -912,6 +913,7 @@ CA98D6B239608C28AFB14F15 /* Shapes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemo/Shapes.swift"; sourceTree = ""; }; D76F7C886215EB9DB96CA88E /* Values.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemo/Values.swift"; sourceTree = ""; }; 2B7A41C09E3F4D21A6C0B002 /* Views.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemo/Views.swift"; sourceTree = ""; }; + 5D0E5ED00000000000000016 /* Observing.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemo/Observing.swift"; sourceTree = ""; }; 5D0E5ED00000000000000014 /* Protocols.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemo/Protocols.swift"; sourceTree = ""; }; 5D0E5ED00000000000000003 /* Purse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemo/Purse.swift"; sourceTree = ""; }; 5D0E5ED00000000000000001 /* Money.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Sources/SwiftDemoKit/Money.swift"; sourceTree = ""; }; @@ -1712,6 +1714,7 @@ CA98D6B239608C28AFB14F15 /* Shapes.swift */, D76F7C886215EB9DB96CA88E /* Values.swift */, 2B7A41C09E3F4D21A6C0B002 /* Views.swift */, + 5D0E5ED00000000000000016 /* Observing.swift */, 5D0E5ED00000000000000014 /* Protocols.swift */, 5D0E5ED00000000000000003 /* Purse.swift */, 5D0E5ED00000000000000001 /* Money.swift */, @@ -2531,6 +2534,7 @@ EF918E4F1A6F3E39721F8C44 /* Shapes.swift in Sources */, 1A9C83B48771CCA1BBEA3F77 /* Values.swift in Sources */, 2B7A41C09E3F4D21A6C0B001 /* Views.swift in Sources */, + 5D0E5ED00000000000000017 /* Observing.swift in Sources */, 5D0E5ED00000000000000015 /* Protocols.swift in Sources */, 5D0E5ED00000000000000004 /* Purse.swift in Sources */, F84875BB70573F18E4D9BA12 /* SwiftDemo+NativeScript.swift in Sources */, From 0d6c43dd991c61ad0007b7c8b02edd9c7f96a526 Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Tue, 20 Oct 2026 16:48:17 -0700 Subject: [PATCH 5/6] feat(swift-interop): async sequences as JS async iterators Results typed AsyncStream, AsyncThrowingStream or `some AsyncSequence` now return JS async iterators, so `for await` works over them (ABI 11). The signature code is ~. The thunk wraps the sequence in a type-erased __NSAsyncIterator. Its step runs the iterator's next() in a Task and reports the element as a one-element array, or an empty array at the end, through the existing async collection path. The runtime hands the iterator to a step function. A small factory compiled once per isolate makes that function an async iterator whose next() calls run one at a time. The step function's weak handle releases the Swift iterator when collected. A pending async result now keeps its own result code and name instead of a member pointer, since an iterator step's member can be collected before the step settles. Opaque results bind without naming their type. --- NativeScript/runtime/SwiftInterop.h | 13 +- NativeScript/runtime/SwiftInterop.mm | 181 +++- TestRunner/app/tests/SwiftInteropTests.js | 64 +- docs/swift-interop.md | 19 +- .../Interop/SwiftDemo+NativeScript.swift | 813 ++++++++++-------- .../SwiftDemo/Sources/SwiftDemo/Streams.swift | 49 ++ .../symbolgraphs/SwiftDemo.symbols.json | 2 +- .../src/Swift/CapabilityClassifier.cpp | 27 +- .../src/Swift/CapabilityClassifier.h | 5 + metadata-generator/src/Swift/ProbeEmitter.cpp | 4 +- metadata-generator/src/Swift/SwiftSurface.cpp | 3 + metadata-generator/src/Swift/SwiftTypes.h | 3 + metadata-generator/src/Swift/ThunkEmitter.cpp | 77 +- metadata-generator/src/Swift/ThunkEmitter.h | 2 +- .../src/TypeScript/SwiftDefinitionWriter.cpp | 7 + .../tests/swift/SymbolGraphLoaderTests.cpp | 5 + .../tests/swift/ThunkEmitterTests.cpp | 2 +- .../swift/snapshots/SwiftDemo.coverage.json | 68 +- .../tests/swift/snapshots/SwiftDemo.ir.json | 197 +++++ .../swift/snapshots/SwiftDemo.probe.swift | 361 ++++---- .../swift/snapshots/swift!SwiftDemo.d.ts | 15 + v8ios.xcodeproj/project.pbxproj | 4 + 22 files changed, 1363 insertions(+), 558 deletions(-) create mode 100644 metadata-generator/TestFixtures/SwiftDemo/Sources/SwiftDemo/Streams.swift diff --git a/NativeScript/runtime/SwiftInterop.h b/NativeScript/runtime/SwiftInterop.h index aacf580a..f321527c 100644 --- a/NativeScript/runtime/SwiftInterop.h +++ b/NativeScript/runtime/SwiftInterop.h @@ -40,7 +40,7 @@ // calls it by reporting the arguments as an array: callbackBegin, each // argument through the complete* entries, then completeArrayEnd. -#define NS_SWIFT_ABI_VERSION 10 +#define NS_SWIFT_ABI_VERSION 11 #ifdef __cplusplus extern "C" { @@ -173,6 +173,8 @@ enum { // or a JS object implementing it (NSSwiftTagJSObject) // @ instance of Objective-C class (its runtime name) // (NSSwiftTagObjC) <-> NativeScript's Objective-C wrapper +// ~ asynchronous sequence of (results only) -> JS async +// iterator; see returnAsyncSequence // ? optional: JS null/undefined <-> NSSwiftTagNull // & inout parameter: JS passes a reference object `{ value }`; // the slot holds its value, and a successful call reports the @@ -301,6 +303,15 @@ struct NSSwiftAPI { /* 48 */ void (*registerTracker)(NSSwiftRegistrar* registrar, NSSwiftTracker tracker); + + // An asynchronous sequence, as a retained (+1) iterator object the runtime + // takes ownership of. Each JS `next()` calls `next` with the iterator as + // args[0] once the previous step settled; it reports the next element as + // a one-element array, or an empty array at the end, through beginAsync. + /* 49 */ void (*returnAsyncSequence)(NSSwiftCall* call, void* iterator, + NSSwiftThunk next); + /* 50 */ void (*completeAsyncSequence)(void* token, void* iterator, + NSSwiftThunk next); }; typedef void (*NSSwiftRegisterFunction)(NSSwiftRegistrar* registrar); diff --git a/NativeScript/runtime/SwiftInterop.mm b/NativeScript/runtime/SwiftInterop.mm index 4ede0c71..1117c89c 100644 --- a/NativeScript/runtime/SwiftInterop.mm +++ b/NativeScript/runtime/SwiftInterop.mm @@ -58,6 +58,7 @@ Tagged, ObjC, Protocol, + AsyncSequence, }; Kind kind = Kind::Void; int bits = 64; @@ -106,6 +107,13 @@ bool ParseCode(std::string text, ValueCode& code) { if (text.empty()) { return false; } + if (text.front() == '~') { + code.kind = ValueCode::Kind::AsyncSequence; + code.element.emplace_back(); + ValueCode& element = code.element.back(); + return ParseCode(text.substr(1), element) && element.kind != ValueCode::Kind::Void && + element.kind != ValueCode::Kind::Function && !element.optional; + } if ((text.front() == '[' && text.back() == ']') || (text.front() == '{' && text.back() == '}')) { code.kind = text.front() == '[' ? ValueCode::Kind::Array : ValueCode::Kind::Map; code.element.emplace_back(); @@ -397,6 +405,9 @@ bool IsA(uint32_t typeIndex, int expected) const { case ValueCode::Kind::ObjC: name = code.className; break; + case ValueCode::Kind::AsyncSequence: + name = "AsyncSequence<" + TypeDisplayName(module, code.element.at(0)) + ">"; + break; } return (code.inout ? "inout " : "") + (code.optional ? name + "?" : name); } @@ -546,6 +557,13 @@ void ApiCompleteError(void* token, const uint8_t* message, intptr_t messageLengt void ApiReturnJSObject(NSSwiftCall* call, void* object); void ApiCompleteJSObject(void* token, void* object); void ApiRegisterTracker(NSSwiftRegistrar* registrar, NSSwiftTracker tracker); +void ApiReturnAsyncSequence(NSSwiftCall* call, void* iterator, NSSwiftThunk next); +void ApiCompleteAsyncSequence(void* token, void* iterator, NSSwiftThunk next); +struct IsolateState; +// A JS async iterator over a Swift iterator (+1, taken over). +MaybeLocal MakeAsyncIterator(Isolate* isolate, Local context, + const ModuleInfo* module, void* iterator, NSSwiftThunk next, + const ValueCode& code, const std::string& name); struct SwiftCallback; Local JSObjectOf(SwiftCallback* handle, Isolate* isolate); void ReleaseCallback(SwiftCallback* callback); @@ -567,7 +585,7 @@ void ApiCompleteError(void* token, const uint8_t* message, intptr_t messageLengt ApiWriteBackEnd, ApiReturnObjC, ApiCompleteObjC, ApiRegisterUnitModule, ApiObjectCallBegin, ApiObjectCallEnd, ApiObjectResultRelease, ApiReturnJSObject, ApiCompleteJSObject, - ApiRegisterTracker, + ApiRegisterTracker, ApiReturnAsyncSequence, ApiCompleteAsyncSequence, }; // "Polygon.Style" -> "Style". @@ -818,9 +836,12 @@ void BuildGroups(ModuleInfo& module) { }; // An async call's Promise, settled on the isolate's thread. +// Its own copy of what the result is: the call's member may be gone by the +// time it settles (an iterator step's). struct PendingAsync { Global resolver; - const MemberInfo* member; + ValueCode code; + std::string name; }; struct IsolateState { @@ -833,6 +854,8 @@ void BuildGroups(ModuleInfo& module) { robin_hood::unordered_map identity; // Thunk calls in progress on the isolate's thread, innermost last. std::vector calls; + // Builds async iterators from step functions (MakeAsyncIterator). + Global iteratorFactory; }; // Owns one retain of a Swift object for as long as its JS wrapper lives. @@ -1015,6 +1038,22 @@ bool IsObjCInstance(id object, const ValueCode& code) { return object != nil && (code.objcClass == nil || [object isKindOfClass:code.objcClass]); } +void ApiReturnAsyncSequence(NSSwiftCall* call, void* iterator, NSSwiftThunk next) { + CallContext* context = ContextOf(call); + const ValueCode* code = CurrentCode(context); + Local value; + if (code == nullptr || code->kind != ValueCode::Kind::AsyncSequence || + !MakeAsyncIterator(context->isolate, context->context, context->module, iterator, next, *code, + context->member->swiftName) + .ToLocal(&value)) { + if (code == nullptr || code->kind != ValueCode::Kind::AsyncSequence) { + context->module->release(iterator); + } + return Fail(context); + } + Complete(context, value); +} + void ApiReturnJSObject(NSSwiftCall* call, void* object) { CallContext* context = ContextOf(call); Complete(context, JSObjectOf(static_cast(object), context->isolate)); @@ -1127,7 +1166,9 @@ void ApiReturnNull(NSSwiftCall* call) { void BeginContainer(CallContext* context, bool isMap, intptr_t count) { const ValueCode* code = CurrentCode(context); ValueCode::Kind expected = isMap ? ValueCode::Kind::Map : ValueCode::Kind::Array; - if (code == nullptr || code->kind != expected || code->element.empty()) { + // An iterator step reports its element as an array. + bool step = !isMap && code != nullptr && code->kind == ValueCode::Kind::AsyncSequence; + if (code == nullptr || (code->kind != expected && !step) || code->element.empty()) { Fail(context); context->isolate->ThrowException(Exception::Error(tns::ToV8String( context->isolate, context->member->swiftName + " reported an unexpected collection"))); @@ -1354,6 +1395,8 @@ void ApiThrowTypeError(NSSwiftCall* call, const uint8_t* message, intptr_t lengt ObjC, // `object` is a JS object handle the outcome holds a reference to. JSObject, + // `object` is a Swift iterator, stepped by `next`. + Sequence, }; Kind kind = Kind::Void; bool boolean = false; @@ -1365,6 +1408,7 @@ void ApiThrowTypeError(NSSwiftCall* call, const uint8_t* message, intptr_t lengt void* object = nullptr; uint32_t typeIndex = 0; const ModuleInfo* module = nullptr; + NSSwiftThunk next = nullptr; std::vector> children; // An undelivered object (the isolate went away) still owns its retain. @@ -1464,6 +1508,16 @@ bool OutcomeToJS(Isolate* isolate, Local context, IsolateState* state, case AsyncOutcome::Kind::JSObject: out = JSObjectOf(static_cast(node.object), isolate); return true; + case AsyncOutcome::Kind::Sequence: { + if (code.kind != ValueCode::Kind::AsyncSequence) { + return failed("returned an unexpected sequence"); + } + void* iterator = node.object; + node.object = nullptr; + return MakeAsyncIterator(isolate, context, node.module, iterator, node.next, code, name) + .ToLocal(&out) || + failed("returned a sequence JavaScript cannot iterate"); + } case AsyncOutcome::Kind::ObjC: { id object = static_cast(node.object); node.object = nullptr; @@ -1547,8 +1601,8 @@ void SettleOnIsolate(Isolate* isolate, uint64_t id, AsyncOutcome& outcome) { Local resolver = pending->resolver.Get(isolate); Local value; Local rejection; - if (OutcomeToJS(isolate, context, state, pending->member->swiftName, outcome, - pending->member->signature.result, value, rejection)) { + if (OutcomeToJS(isolate, context, state, pending->name, outcome, pending->code, value, + rejection)) { resolver->Resolve(context, value).Check(); } else { resolver->Reject(context, rejection).Check(); @@ -1740,7 +1794,8 @@ void Emit(void* rawToken, std::shared_ptr node) { if (Promise::Resolver::New(context->context).ToLocal(&resolver)) { auto pending = std::make_unique(); pending->resolver.Reset(isolate, resolver); - pending->member = context->member; + pending->code = *context->resultCode; + pending->name = context->member->swiftName; context->state->pending.emplace(id, std::move(pending)); Complete(context, resolver->GetPromise()); } else { @@ -1828,6 +1883,13 @@ void ApiCompleteMapBegin(void* token, intptr_t /*count*/) { Emit(token, Outcome(AsyncOutcome::Kind::Map)); } +void ApiCompleteAsyncSequence(void* token, void* iterator, NSSwiftThunk next) { + auto outcome = Outcome(AsyncOutcome::Kind::Sequence); + outcome->object = iterator; + outcome->next = next; + Emit(token, outcome); +} + void ApiCompleteJSObject(void* token, void* object) { auto outcome = Outcome(AsyncOutcome::Kind::JSObject); ApiCallbackRetain(object); @@ -1932,6 +1994,7 @@ bool Accepts(Isolate* isolate, const ModuleInfo& module, const ValueCode& code, ? wrapper->Module() == &module : value->IsObject() && !value->IsArray() && ObjCObjectOf(isolate, value) == nil; } + case ValueCode::Kind::AsyncSequence: case ValueCode::Kind::Void: return false; } @@ -2321,6 +2384,7 @@ bool Convert(Isolate* isolate, Local context, const ModuleInfo& module, return true; } + case ValueCode::Kind::AsyncSequence: case ValueCode::Kind::Void: break; } @@ -2580,6 +2644,111 @@ bool Select(Isolate* isolate, Local context, const MemberGroup& group, return false; } +LoadedModule* LoadedFor(Isolate* isolate, const ModuleInfo* module); +Local DataFor(Isolate* isolate, const void* pointer); + +// A Swift iterator owned by the step function JS calls; released when that +// function is collected. +struct IteratorBox { + Global step; + const ModuleInfo* module; + void* iterator; + NSSwiftThunk next; + // Names the steps in errors; its result is the sequence's code. + MemberInfo member; +}; + +void StepCallback(const FunctionCallbackInfo& info) { + Isolate* isolate = info.GetIsolate(); + auto* box = static_cast( + info.Data().As()->Value(v8::kExternalPointerTypeTagDefault)); + auto* state = Caches::StateFor(isolate); + LoadedModule* loaded = LoadedFor(isolate, box->module); + if (state == nullptr || loaded == nullptr) { + return; + } + NSSwiftValue slot{}; + slot.tag = NSSwiftTagObject; + slot.payload.object = box->iterator; + + CallContext call; + call.api = &kAPI; + call.isolate = isolate; + call.context = isolate->GetCurrentContext(); + call.module = box->module; + call.loaded = loaded; + call.state = state; + call.member = &box->member; + call.resultCode = &box->member.signature.result; + state->calls.push_back(&call); + box->next(&call, &slot, 1); + state->calls.pop_back(); + if (!call.callbackException.IsEmpty()) { + isolate->ThrowException(call.callbackException.Get(isolate)); + } else if (!call.threw && call.completed) { + info.GetReturnValue().Set(call.result); + } +} + +// Turns a step function (a Promise of `[element]`, or `[]` at the end) into +// an async iterator, one step at a time. +constexpr const char* kIteratorFactory = R"js((function (step) { + let pending = Promise.resolve(); + return { + next() { + const result = pending.then(() => step()).then((values) => + values.length ? { value: values[0], done: false } : { value: undefined, done: true }); + pending = result.then(() => undefined, () => undefined); + return result; + }, + [Symbol.asyncIterator]() { + return this; + }, + }; +}))js"; + +MaybeLocal MakeAsyncIterator(Isolate* isolate, Local context, + const ModuleInfo* module, void* iterator, NSSwiftThunk next, + const ValueCode& code, const std::string& name) { + auto* state = Caches::StateFor(isolate); + if (state == nullptr) { + module->release(iterator); + return MaybeLocal(); + } + if (state->iteratorFactory.IsEmpty()) { + Local