From d2d44b936014f93baa148e11d4f73fddd1fec995 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matya=CC=81s=CC=8C=20Kr=CC=8Ci=CC=81z=CC=8C?= Date: Thu, 4 Jan 2024 21:56:16 +0100 Subject: [PATCH] Finishing SwiftSyntax touches. --- Cuckoo.podspec | 4 +- Cuckoo.xcodeproj/project.pbxproj | 357 +++---- Gemfile.lock | 1 + ...ator-Info.plist => Cuckoonator-Info.plist} | 0 ...Info.plist => CuckoonatorTests-Info.plist} | 0 Generator/Generator.xcodeproj/project.pbxproj | 962 +++++++++++++----- .../xcshareddata/swiftpm/Package.resolved | 102 +- .../xcshareddata/xcschemes/Generator.xcscheme | 55 +- Generator/Sources/CLI/Generator.swift | 10 +- Generator/Sources/CLI/Module.swift | 24 +- README.md | 213 ++-- .../PlatformType.swift | 4 +- run | 45 +- 13 files changed, 1027 insertions(+), 750 deletions(-) rename Generator/Derived/InfoPlists/{CuckooGenerator-Info.plist => Cuckoonator-Info.plist} (100%) rename Generator/Derived/InfoPlists/{GeneratorTests-Info.plist => CuckoonatorTests-Info.plist} (100%) diff --git a/Cuckoo.podspec b/Cuckoo.podspec index 6371b12a..4f7c1a35 100644 --- a/Cuckoo.podspec +++ b/Cuckoo.podspec @@ -12,10 +12,10 @@ Pod::Spec.new do |s| s.author = { 'Matyas Kriz' => 'm@tyas.cz', 'Tadeas Kriz' => 'tadeas@brightify.org', 'Filip Dolnik' => 'filip@brightify.org' } s.source = { :git => 'https://github.com/Brightify/Cuckoo.git', :tag => s.version.to_s } - s.ios.deployment_target = '12.0' + s.ios.deployment_target = '13.0' s.osx.deployment_target = '11' #s.watchos.deployment_target = '2.0' # watchos does not include XCTest framework :( - s.tvos.deployment_target = '12.0' + s.tvos.deployment_target = '13.0' generator_name = 'cuckoonator' s.swift_version = '5.0' s.preserve_paths = ['Generator/**/*', 'version', 'run', 'build_generator', generator_name] diff --git a/Cuckoo.xcodeproj/project.pbxproj b/Cuckoo.xcodeproj/project.pbxproj index a5b6133f..e8a39c9c 100644 --- a/Cuckoo.xcodeproj/project.pbxproj +++ b/Cuckoo.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 55; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ @@ -34,7 +34,6 @@ 09DAF9A5488E972492E896BF /* PropertyWrappers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D394400A6216C16C31E8436 /* PropertyWrappers.swift */; }; 0A3DB4FDAAF378953FE620F2 /* CallMatcherFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CC319F6F55C00CFD3D0AF96 /* CallMatcherFunctions.swift */; }; 0A63C1802D5BBDCCFB91DE3A /* StubFunctionThenCallRealImplementationTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5319F82EEAE3868CE8F23172 /* StubFunctionThenCallRealImplementationTrait.swift */; }; - 0BCA9EE17FB7BCD968956F36 /* GeneratedMocks+openhaystack.swift in Sources */ = {isa = PBXBuildFile; fileRef = B54ADB550DB56855B73F854A /* GeneratedMocks+openhaystack.swift */; }; 0BEB6AA4984EF02EA3A6AA00 /* NestedSubclassTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C4A20137742161D649D3E3B /* NestedSubclassTest.swift */; }; 0BFE2DDD3E06D51F9B297E07 /* ToBeStubbedReadOnlyProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 375E2C8E10768E1A9A04C362 /* ToBeStubbedReadOnlyProperty.swift */; }; 0C2B108704AEB93556C4B0CE /* StubNoReturnFunctionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7635A46FDE48804E6E21EC0 /* StubNoReturnFunctionTest.swift */; }; @@ -45,30 +44,24 @@ 0ED1CB69A10271E8108F20FE /* UnicodeTestProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 492606B334C561F93ABBE0A3 /* UnicodeTestProtocol.swift */; }; 0ED91F9FF12BDC78CF963829 /* StubFunctionThenDoNothingTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C68FC814ACBD3D5E1C7ED1B /* StubFunctionThenDoNothingTrait.swift */; }; 0EE27CA2F8F0510ADB304A5C /* DefaultValueRegistry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 190FB7FABF7486D2963F4B44 /* DefaultValueRegistry.swift */; }; - 0F2C99FD62A9690336CC05D7 /* GeneratedMocks+swift-nio.swift in Sources */ = {isa = PBXBuildFile; fileRef = D855D7BE03DE7D8BADEBF33D /* GeneratedMocks+swift-nio.swift */; }; - 0F63418022500DA165274B49 /* GeneratedMocks+ShadowsocksX-NG.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EF265E30C5EAB6E3ABC0C69 /* GeneratedMocks+ShadowsocksX-NG.swift */; }; 1084D7D892810CFF15A4DA37 /* StringProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = C0A3B9B776340082AC6DDE9A /* StringProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; 10CCBEFA966D4F86F4B09318 /* ClassWithUnavailablePlatformMembers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FB937EA0F029B222D748FED /* ClassWithUnavailablePlatformMembers.swift */; }; 1133AAA472C4E463566D0BC5 /* ObjectiveProtocolTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3D36A00ADFA42CC4C411F3E /* ObjectiveProtocolTest.swift */; }; 114CF61041FB579920C5B7E0 /* ExcludedStubTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64F2852ABE97CC059DD98D13 /* ExcludedStubTest.swift */; }; 116D8FBB03787C2D7F7C99CC /* TestError.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8F1FB05574F9DB1A4CE7AB3 /* TestError.swift */; }; 11700496E1D2DF02E9CD49BE /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B81133817083F2B8122BE188 /* XCTest.framework */; }; - 1176DEB0ED0DB00859C919E3 /* GeneratedMocks+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = F58BD6FC4FE31313954AF218 /* GeneratedMocks+Alamofire.swift */; }; 11B3B5F6FFF87351410F8B43 /* ToBeStubbedReadOnlyProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 375E2C8E10768E1A9A04C362 /* ToBeStubbedReadOnlyProperty.swift */; }; 11B3F573CEAEDBC88BDC8AFF /* NestedSubclassTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C4A20137742161D649D3E3B /* NestedSubclassTest.swift */; }; 1261E976B71C9A806A73DA9D /* CreateMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = D44692276AAFF9261EDD5D75 /* CreateMock.swift */; }; 138FB34F332E9076D2C30FDC /* NSObjectProtocolInheritanceTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FBE411D64C1D2B056E42C52 /* NSObjectProtocolInheritanceTest.swift */; }; 13A6FF70A68C12E237C85B4C /* StubFunctionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CBF18CC12259A96D05F579B /* StubFunctionTest.swift */; }; - 1456EC54BC4209B159A83CE3 /* Pods_Cuckoo_OCMock_tvOS_Cuckoo_OCMock_tvOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6E0D2EDD126561E21E0B4FEB /* Pods_Cuckoo_OCMock_tvOS_Cuckoo_OCMock_tvOSTests.framework */; }; 14A6A85FCC306AB5CB4D009E /* ObjectiveCatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C3E2B1C12FF95C6DCA418D5 /* ObjectiveCatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; 15464C72B2E02BE3B83BF860 /* Array+matchersTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26D3EE02CEB715D5543ACFFC /* Array+matchersTest.swift */; }; 154BD32BF798FBE545A1FD02 /* ObjectiveArgumentClosure.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6D63F5E63DF9302E70BF764 /* ObjectiveArgumentClosure.swift */; }; 15D32901EDE1203F89FC4274 /* StubFunctionThenThrowTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 201DFAD306F0F1B18CE9EFBE /* StubFunctionThenThrowTrait.swift */; }; 15E9D1A7448F3BFCCB0468CF /* Mocked.swift in Sources */ = {isa = PBXBuildFile; fileRef = B30A194A634E5972418D171E /* Mocked.swift */; }; 1614CD448C7ED6C0DE767AE6 /* MockManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91992FE8D38A6900C005B0A4 /* MockManager.swift */; }; - 1627AE94F512A578182187F0 /* GeneratedMocks+ShadowsocksX-NG.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EF265E30C5EAB6E3ABC0C69 /* GeneratedMocks+ShadowsocksX-NG.swift */; }; 1639356977967F0E0A7EED2F /* TestError.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8F1FB05574F9DB1A4CE7AB3 /* TestError.swift */; }; - 17C9214EE57E5E8BFB88BB14 /* GeneratedMocks+Whisky.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7638E2749211BA8B65A64DBD /* GeneratedMocks+Whisky.swift */; }; 180D5C1F534E9515ED222201 /* StringProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BA242F7A830953CD5E4AC4A /* StringProxy.m */; }; 18870F91A89191478A8F39E2 /* StubFunctionThenTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96C749F49256DDA51A9C96C9 /* StubFunctionThenTrait.swift */; }; 18A8AA3E4C7365AB6658D626 /* Dictionary+matchers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6975D97C79395805A3BB3B04 /* Dictionary+matchers.swift */; }; @@ -85,13 +78,11 @@ 1D8728BE9FB6E9897B429110 /* CuckooFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 938B3F655E8E20AB6D341A0D /* CuckooFunctions.swift */; }; 1D9770B856D4B32E73E50CCA /* ObjectiveCatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 654DD2C28B20B62C30F20699 /* ObjectiveCatcher.m */; }; 1DB1CBFA2D7B012C81B1312B /* CuckooFunctionsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BEF42DC82FC0EF50E83E6CA /* CuckooFunctionsTest.swift */; }; - 1E064A2E97BA2C21FF42E8A7 /* GeneratedMocks+vapor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F14EC845C34714ABCAB8198 /* GeneratedMocks+vapor.swift */; }; 1E89325C9E97C1144888E5D1 /* __DoNotUse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 511DD0B1EA1EAF535C598A8C /* __DoNotUse.swift */; }; 1EB2647496FF4AF01E443E35 /* StubCall.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BA3EB970DE7CF1D83AC121F /* StubCall.swift */; }; 1ED21520D8C22FD5C73460EC /* Cuckoo_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86D638696C1458550D4524F1 /* Cuckoo_tvOS.framework */; }; 1FDE17A0D0967F932C618242 /* GeneratedMocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4A99A2173E7F7743145B11B /* GeneratedMocks.swift */; }; 21B4C012C95B80E74C81FC2E /* NestedPrivateExtensionClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECFED3C29F5CA48398AF0C5B /* NestedPrivateExtensionClass.swift */; }; - 22958B475647678EAA48AE13 /* GeneratedMocks+MonitorControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9096D4889491251E0B7D5393 /* GeneratedMocks+MonitorControl.swift */; }; 229B26FA9C1E4FC1BFB2F921 /* StubAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29C647EAE09B6AB55FF6C0CE /* StubAction.swift */; }; 22F2AC6DA18E3B9944BF8351 /* CreateMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = D44692276AAFF9261EDD5D75 /* CreateMock.swift */; }; 23C5D1EEC532541512E33C80 /* VerificationProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = A21CD7B8ADE5ABE0295581D4 /* VerificationProxy.swift */; }; @@ -114,16 +105,13 @@ 293B3396782DE9476430794D /* PropertyWrappers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D394400A6216C16C31E8436 /* PropertyWrappers.swift */; }; 29B206A3798C3C8A3F6B791D /* VerifyReadOnlyProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7A08AF20C937EF4EB98795B /* VerifyReadOnlyProperty.swift */; }; 29CF5B2BA743C0E892855550 /* CallMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C854CC76B478ED72B6D3A65 /* CallMatcher.swift */; }; - 29E44183751F6EA5D9D9A121 /* GeneratedMocks+vapor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F14EC845C34714ABCAB8198 /* GeneratedMocks+vapor.swift */; }; 2B84F5F74D5B1FFA3EEF28FA /* GeneratedMocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4A99A2173E7F7743145B11B /* GeneratedMocks.swift */; }; 2D0BF6CACF9C9D25586785D0 /* MultiNestedInNestedClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7054833FFF0D253B1E2379FA /* MultiNestedInNestedClass.swift */; }; 2D2631FF3DFEB17188A08073 /* ClassForStubTesting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55DE1954C1D6E94F2911830A /* ClassForStubTesting.swift */; }; 2D657648CE8D73B96D8CAF63 /* ObjectiveClassTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAFD10D2F5491D90D226ED78 /* ObjectiveClassTest.swift */; }; 2E54AB548933FF3D2F7E1384 /* DefaultValueRegistryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E80D1401CB6046B1AEDBE204 /* DefaultValueRegistryTest.swift */; }; - 2E90CA12A30765DB682F25A7 /* GeneratedMocks+swift-nio.swift in Sources */ = {isa = PBXBuildFile; fileRef = D855D7BE03DE7D8BADEBF33D /* GeneratedMocks+swift-nio.swift */; }; 2FA8B5B7D3DBD836A3FE9694 /* ObjectiveArgumentClosure.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6D63F5E63DF9302E70BF764 /* ObjectiveArgumentClosure.swift */; }; 2FB87BFE2FFBCF459D35DF5E /* MockManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91992FE8D38A6900C005B0A4 /* MockManager.swift */; }; - 30D5582B9A872566BB98AB65 /* GeneratedMocks+iina.swift in Sources */ = {isa = PBXBuildFile; fileRef = 475A5EAA15D41E418BE11146 /* GeneratedMocks+iina.swift */; }; 3172B5B4F28F82A9393194EE /* StubCall.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BA3EB970DE7CF1D83AC121F /* StubCall.swift */; }; 31968C424EAAE213191924C0 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 648E1DCC3FA05944AC970663 /* XCTest.framework */; }; 31EC7665C1236E34B1B21642 /* OCMockObject+CuckooMockObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EE3E19406E96533EBBBD138 /* OCMockObject+CuckooMockObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -148,7 +136,6 @@ 3AF6BD5E95ADD23FA7DE22D8 /* StubCall.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BA3EB970DE7CF1D83AC121F /* StubCall.swift */; }; 3B233086E3384730CA60AACE /* BaseStubFunctionTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03B55AC80C790F69750B2F80 /* BaseStubFunctionTrait.swift */; }; 3C8740FA3D76887850A5A5B7 /* StubFunctionThenReturnTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3191519C8ED4DD5B3D439A93 /* StubFunctionThenReturnTrait.swift */; }; - 3CAE6E18E08743194BC9F854 /* GeneratedMocks+Nextcloud.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B98FAD3187753DB8CB7365F /* GeneratedMocks+Nextcloud.swift */; }; 3CFAA76E52C3382D06DDDB7A /* Cuckoo_OCMock_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F981A41C0D53F5AF59BD7202 /* Cuckoo_OCMock_tvOS.framework */; }; 3DF2A489251B19E409BF29D2 /* ObjectiveStub.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A933D33D55AE257FE9B1097 /* ObjectiveStub.swift */; }; 3E898FA1BD5E31EE0D37DD9E /* UnavailablePlatformProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DE5DC1B6EC0BF686019517B /* UnavailablePlatformProtocol.swift */; }; @@ -159,7 +146,6 @@ 4057EA6FCC9D876491EA32BF /* StubNoReturnFunction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 700931036CB43C60AEFB7FEB /* StubNoReturnFunction.swift */; }; 4107AB080C2B17D1DC212ADC /* StubNoReturnThrowingFunctionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A67E79E73B4710B3C846F96 /* StubNoReturnThrowingFunctionTest.swift */; }; 41D237ED493522E1E35DC1D1 /* VerifyReadOnlyProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7A08AF20C937EF4EB98795B /* VerifyReadOnlyProperty.swift */; }; - 41D73C3471F57C10F1E0D86C /* GeneratedMocks+iina.swift in Sources */ = {isa = PBXBuildFile; fileRef = 475A5EAA15D41E418BE11146 /* GeneratedMocks+iina.swift */; }; 41F4150D95BC01E3AD5BC2B3 /* TestedProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAFDD79179243CBB217358C7 /* TestedProtocol.swift */; }; 42084A0ADB2C500C64053ABD /* StubFunctionThenDoNothingTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C68FC814ACBD3D5E1C7ED1B /* StubFunctionThenDoNothingTrait.swift */; }; 425152422F1760E234924797 /* ToBeStubbedProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE705433C346CA3DF4E2AB96 /* ToBeStubbedProperty.swift */; }; @@ -191,7 +177,6 @@ 4CE1999C6502F7BE89DB9C9A /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B81133817083F2B8122BE188 /* XCTest.framework */; }; 4D0284E66B8AD8063C325275 /* MultiNestedInNestedClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7054833FFF0D253B1E2379FA /* MultiNestedInNestedClass.swift */; }; 4D779C83E3C15319175DCAB1 /* ToBeStubbedProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE705433C346CA3DF4E2AB96 /* ToBeStubbedProperty.swift */; }; - 4DB1556F5CE858A251A5C408 /* GeneratedMocks+MonitorControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9096D4889491251E0B7D5393 /* GeneratedMocks+MonitorControl.swift */; }; 4E22DA57BAF5DE8A492D2F5D /* __DoNotUse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 511DD0B1EA1EAF535C598A8C /* __DoNotUse.swift */; }; 4EB79BE67C370C4BD74B4604 /* ObjectiveClassTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAFD10D2F5491D90D226ED78 /* ObjectiveClassTest.swift */; }; 4F490D8457B9919E2E6A05B0 /* ClassTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6873C8013002AFEA7565BDAC /* ClassTest.swift */; }; @@ -232,10 +217,8 @@ 65A371723811545646DF8D13 /* UnavailablePlatformClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6665FD7C16558B821564AADB /* UnavailablePlatformClass.swift */; }; 65FCE0D9EFC6BB52A78B03AD /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = D09B97C65DA87366B8605109 /* Utils.swift */; }; 668937F0B68030E6EE526579 /* StubAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29C647EAE09B6AB55FF6C0CE /* StubAction.swift */; }; - 668CE0BB3093480EABC67440 /* GeneratedMocks+SnapKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF35063CFBF34817123D1BA7 /* GeneratedMocks+SnapKit.swift */; }; 6767946AF36C2A279F53D3FC /* ToBeStubbedProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE705433C346CA3DF4E2AB96 /* ToBeStubbedProperty.swift */; }; 67BC45751E3361D5B2EE6C47 /* Array+matchers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D1D814F035D5D39FC84D26C /* Array+matchers.swift */; }; - 6854D2E68449D72B3570FB30 /* GeneratedMocks+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = F58BD6FC4FE31313954AF218 /* GeneratedMocks+Alamofire.swift */; }; 68666AF31756DE755BED16A0 /* GenericClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = F01C5ABA73DC1B0CCE088669 /* GenericClass.swift */; }; 68696CFDFD67F6D77057F64D /* CallMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C854CC76B478ED72B6D3A65 /* CallMatcher.swift */; }; 689E3852D2B5C6C81837A08F /* StubFunctionThenTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96C749F49256DDA51A9C96C9 /* StubFunctionThenTrait.swift */; }; @@ -260,7 +243,6 @@ 71325312F391F1ED64037ABB /* TestedSubclass.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA0F20F08A3C63CB00D2E7E4 /* TestedSubclass.swift */; }; 71390C75B9DC8ECD458064CB /* StubFunctionThenReturnTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3191519C8ED4DD5B3D439A93 /* StubFunctionThenReturnTrait.swift */; }; 7152543E5FB5C27BFBF1AD54 /* StubFunctionThenReturnTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3191519C8ED4DD5B3D439A93 /* StubFunctionThenReturnTrait.swift */; }; - 716AD4AA34E78D214F282951 /* GeneratedMocks+vapor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F14EC845C34714ABCAB8198 /* GeneratedMocks+vapor.swift */; }; 718886B6E9C79E094F9A472B /* ParameterMatcherFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6CA2236A30B54754F335DC3 /* ParameterMatcherFunctions.swift */; }; 71C2BCE31CA3B6FCD55224AA /* Dictionary+matchers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6975D97C79395805A3BB3B04 /* Dictionary+matchers.swift */; }; 71E5A49D8F6F49CFDECEA3D5 /* StubbingProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03A9BEFC601EF66DF42D5022 /* StubbingProxy.swift */; }; @@ -278,6 +260,7 @@ 7793C04BC11EFAD75F09EF5F /* StubFunctionThenThrowTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 201DFAD306F0F1B18CE9EFBE /* StubFunctionThenThrowTrait.swift */; }; 7882E7AA79ADA3A6DCBC95F2 /* StubFunctionThenCallRealImplementationTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5319F82EEAE3868CE8F23172 /* StubFunctionThenCallRealImplementationTrait.swift */; }; 78D27D2AD38E87B228AF0556 /* GenericClassTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83908D3F58736F1C6DA7B2CA /* GenericClassTest.swift */; }; + 7A84DB694DF56AE2B324CB86 /* Pods_Cuckoo_OCMock_tvOS_Cuckoo_OCMock_tvOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 622CC86A3A7471ED234CF01A /* Pods_Cuckoo_OCMock_tvOS_Cuckoo_OCMock_tvOSTests.framework */; }; 7B724EB2268008DC58125565 /* MultiNestedPrivateExtensionClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B40CC43D7A77DFD4702178A /* MultiNestedPrivateExtensionClass.swift */; }; 7BBB90925DB403DBCFF1C21B /* NSObject+TrustMe.h in Headers */ = {isa = PBXBuildFile; fileRef = E5D1F1DDD3B24CEC8D8495BC /* NSObject+TrustMe.h */; settings = {ATTRIBUTES = (Public, ); }; }; 7C739BDCFE5EEC051A505646 /* ExcludedStubTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64F2852ABE97CC059DD98D13 /* ExcludedStubTest.swift */; }; @@ -297,7 +280,6 @@ 8172956AE6AEC35C8946F3D7 /* Array+matchers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D1D814F035D5D39FC84D26C /* Array+matchers.swift */; }; 820828627DA50955D0670823 /* Matchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C633EBD6E6E6568FE9B40567 /* Matchable.swift */; }; 827A670BF9391A7C01822AF1 /* TestError.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8F1FB05574F9DB1A4CE7AB3 /* TestError.swift */; }; - 8362BBA10E5A2B4E098F22C9 /* GeneratedMocks+openhaystack.swift in Sources */ = {isa = PBXBuildFile; fileRef = B54ADB550DB56855B73F854A /* GeneratedMocks+openhaystack.swift */; }; 83A5A8205205BF4D44F93CD0 /* ArgumentCaptorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76DE925DA03AAA0FD9734CFE /* ArgumentCaptorTest.swift */; }; 8443421090DA81C2C68570A1 /* Cuckoo_OCMock_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD83449ACABE73EE786CA3E3 /* Cuckoo_OCMock_macOS.framework */; }; 84CF3EB0CA4FDF5F01BB6847 /* OCMockObject+Workaround.h in Headers */ = {isa = PBXBuildFile; fileRef = 95B3E26DA5700FCAF7286B16 /* OCMockObject+Workaround.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -324,12 +306,9 @@ 8C61162C8AFDB8D153798DBC /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 648E1DCC3FA05944AC970663 /* XCTest.framework */; }; 8CB6ABE1F6EB68B5F081CD2A /* NestedClassTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3646D56C8005FB7E1B11B67 /* NestedClassTest.swift */; }; 8D80FA22DC7306DD02A3E6E0 /* StubNoReturnThrowingFunction.swift in Sources */ = {isa = PBXBuildFile; fileRef = D920573D13B938FEACFF82C6 /* StubNoReturnThrowingFunction.swift */; }; - 8E7E1D98919DDBB5BC9D1A0E /* GeneratedMocks+iina.swift in Sources */ = {isa = PBXBuildFile; fileRef = 475A5EAA15D41E418BE11146 /* GeneratedMocks+iina.swift */; }; 8EC6901E5D2329815A954132 /* BaseStubFunctionTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03B55AC80C790F69750B2F80 /* BaseStubFunctionTrait.swift */; }; 8F64666ABEA12593621A1E5B /* StubFunctionThenTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96C749F49256DDA51A9C96C9 /* StubFunctionThenTrait.swift */; }; - 8F85DF2677BB24AB9ED4234E /* GeneratedMocks+Signal-iOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D4A5CD9484B982F6E89B2B6 /* GeneratedMocks+Signal-iOS.swift */; }; 8FCE701ABF6436EA73A75767 /* CallMatcherFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CC319F6F55C00CFD3D0AF96 /* CallMatcherFunctions.swift */; }; - 904FF056FA67829ED0D05087 /* GeneratedMocks+SnapKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF35063CFBF34817123D1BA7 /* GeneratedMocks+SnapKit.swift */; }; 915E0D355991BC4F6948270F /* MultiNestedClassTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 002B2852C62F702127A3D24E /* MultiNestedClassTest.swift */; }; 91A62655AA1840F2C43960A7 /* StubFunctionThenTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96C749F49256DDA51A9C96C9 /* StubFunctionThenTrait.swift */; }; 928FE5CCF9DEBC62FACF4C46 /* DefaultValueRegistryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E80D1401CB6046B1AEDBE204 /* DefaultValueRegistryTest.swift */; }; @@ -346,6 +325,7 @@ 968F5345D4C4CEE2E7CA7F33 /* StubThrowingFunctionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7432F97D87C063CB4923E570 /* StubThrowingFunctionTest.swift */; }; 976C2EBAEC277E931B3AB769 /* ObjcProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 355C36C0536DBF7EDA3C2B96 /* ObjcProtocol.swift */; }; 9788E81C8493431FB83A7E15 /* Mock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33EBD5D113A20F38FCE13BDC /* Mock.swift */; }; + 97BB175DC4B6D4ED6EE48A31 /* Pods_Cuckoo_OCMock_macOS_Cuckoo_OCMock_macOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 787CFFF91ADFDD8E393B0D9C /* Pods_Cuckoo_OCMock_macOS_Cuckoo_OCMock_macOSTests.framework */; }; 97F6BD5C658631C6B86F13E8 /* ArgumentCaptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94FEF459CF7A13B3FC66D390 /* ArgumentCaptor.swift */; }; 9820ACF2D223E8C1DE7CB9CE /* StubNoReturnThrowingFunction.swift in Sources */ = {isa = PBXBuildFile; fileRef = D920573D13B938FEACFF82C6 /* StubNoReturnThrowingFunction.swift */; }; 98833B16634285BFDA764222 /* MultiNestedInExtensionFromClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB894FF725838C4DE9FFDC9A /* MultiNestedInExtensionFromClass.swift */; }; @@ -359,14 +339,12 @@ 9B54EA8552637FBD7476E0A7 /* UnicodeTestProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 492606B334C561F93ABBE0A3 /* UnicodeTestProtocol.swift */; }; 9B895B7647DEBA8F5E7EF1B4 /* MultiNestedPrivateExtensionClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B40CC43D7A77DFD4702178A /* MultiNestedPrivateExtensionClass.swift */; }; 9BCB829A9367D2969E8C0B15 /* StubFunction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82D83797450CB57EC3E0A693 /* StubFunction.swift */; }; - 9BECC0FD845B88032E4373AD /* GeneratedMocks+SnapKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF35063CFBF34817123D1BA7 /* GeneratedMocks+SnapKit.swift */; }; 9C88BF5A1599ACBAC03A2BEA /* DefaultValueRegistry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 190FB7FABF7486D2963F4B44 /* DefaultValueRegistry.swift */; }; 9E323FB95FB7952A8DD85981 /* ParameterMatcherFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6CA2236A30B54754F335DC3 /* ParameterMatcherFunctions.swift */; }; 9EAF1E992E94374BEC7E991F /* GenericProtocolTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 905EC88A402004B01C6FE73E /* GenericProtocolTest.swift */; }; 9EDED0FA34387A55168C5E9A /* ArgumentCaptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94FEF459CF7A13B3FC66D390 /* ArgumentCaptor.swift */; }; 9F315C759A53B4765706C631 /* StubbingTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D65D2B6FD44C2CC59D6C7F4 /* StubbingTest.swift */; }; 9F5610FAD63C5F21240BD983 /* MockBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C0889A597AF4CCA8841B471 /* MockBuilder.swift */; }; - 9FE9DE4FE0734CBFFA9C7525 /* GeneratedMocks+Nextcloud.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B98FAD3187753DB8CB7365F /* GeneratedMocks+Nextcloud.swift */; }; 9FFAC02139D8C438E7AC2398 /* MockBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C0889A597AF4CCA8841B471 /* MockBuilder.swift */; }; A1853B97980BE907FC4D3317 /* CuckooFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 938B3F655E8E20AB6D341A0D /* CuckooFunctions.swift */; }; A3DF069D9E3DF22ACFCAD93B /* ObjectiveVerify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 107C9243167200396831A18F /* ObjectiveVerify.swift */; }; @@ -384,12 +362,12 @@ AB3A869091F2C1705FCC5645 /* CallMatcherFunctionsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5673B933A24CA65D15B3FD3A /* CallMatcherFunctionsTest.swift */; }; AB4D73B2AF7C45B055A0909E /* TestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = C55014A1A85497F2153371D7 /* TestUtils.swift */; }; AB592B6FB3361E611C3E710C /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = D09B97C65DA87366B8605109 /* Utils.swift */; }; + AC26D77EBB0038A69E166BB6 /* Pods_Cuckoo_OCMock_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 98074C674352DC35560FE3F2 /* Pods_Cuckoo_OCMock_iOS.framework */; }; ACB8BCEFFDF2CCD544DE0AFA /* NSObjectProtocolInheritanceTesting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 866CED1C72D1F35C10251CCC /* NSObjectProtocolInheritanceTesting.swift */; }; ACE132DAD743208533557637 /* OCMockObject+CuckooMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = D732D63C18B4DE267CB365CF /* OCMockObject+CuckooMockObject.m */; }; ACEB3D4D47A97027E321FDBE /* StubFunctionThenTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96C749F49256DDA51A9C96C9 /* StubFunctionThenTrait.swift */; }; AE8E55BEA54BCB10A0468188 /* VerifyProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 753FC6D19235B2C8F2DBAA7B /* VerifyProperty.swift */; }; AED029328B9DBA81108F8A43 /* Set+matchers.swift in Sources */ = {isa = PBXBuildFile; fileRef = D535CF4BAE6BA1CA7220CDB7 /* Set+matchers.swift */; }; - AEDF6BB054A68FDCA9AD5EE9 /* GeneratedMocks+ShadowsocksX-NG.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EF265E30C5EAB6E3ABC0C69 /* GeneratedMocks+ShadowsocksX-NG.swift */; }; AF177857763EFD043D96C0D8 /* Stub.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE4758812545462B94DAB7A4 /* Stub.swift */; }; AF6A22D34D3918E5E731F2A4 /* ObjectiveCatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 654DD2C28B20B62C30F20699 /* ObjectiveCatcher.m */; }; AFBB202448EE8B1FDF859650 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = D09B97C65DA87366B8605109 /* Utils.swift */; }; @@ -401,14 +379,12 @@ B213A6950447915FCC4BF2EF /* NestedInNestedStruct.swift in Sources */ = {isa = PBXBuildFile; fileRef = C90E9A4C6A1716C6D219D26E /* NestedInNestedStruct.swift */; }; B2A0F9714DD9CCCDED6C0974 /* ParameterMatcherFunctionsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6B86DCAC6958FF36DF3639C /* ParameterMatcherFunctionsTest.swift */; }; B35A528C2DA3EDD27AF9ED6D /* Dictionary+matchersTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B79F4A07874A92D5E117ED8 /* Dictionary+matchersTest.swift */; }; - B37E14ED208426385DC4F68C /* GeneratedMocks+swift-nio.swift in Sources */ = {isa = PBXBuildFile; fileRef = D855D7BE03DE7D8BADEBF33D /* GeneratedMocks+swift-nio.swift */; }; B396D31FA7D0409EF4AF7F8D /* ObjectiveStub.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A933D33D55AE257FE9B1097 /* ObjectiveStub.swift */; }; B452F6F8E31A3B0D7C460B79 /* StubFunctionThenThrowTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 201DFAD306F0F1B18CE9EFBE /* StubFunctionThenThrowTrait.swift */; }; B4CABEBF620374BC06D2823B /* TestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = C55014A1A85497F2153371D7 /* TestUtils.swift */; }; B4D4670EAA09DA5A79BB11AB /* MockManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91992FE8D38A6900C005B0A4 /* MockManager.swift */; }; B4FFDFFB75D194453AE2D175 /* StubCall.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BA3EB970DE7CF1D83AC121F /* StubCall.swift */; }; B626F2DA221BF968E127B54A /* VerifyReadOnlyProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7A08AF20C937EF4EB98795B /* VerifyReadOnlyProperty.swift */; }; - B6455716FA73416FDF86B630 /* GeneratedMocks+Whisky.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7638E2749211BA8B65A64DBD /* GeneratedMocks+Whisky.swift */; }; B648456E51B3FF8CB037B3B5 /* Matchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C633EBD6E6E6568FE9B40567 /* Matchable.swift */; }; B6C4CC5A967C0CC567A9F454 /* MockManager+preconfigured.swift in Sources */ = {isa = PBXBuildFile; fileRef = E83C4A633699E5B88D9A9C1B /* MockManager+preconfigured.swift */; }; B7522A11DCA0DFDA158C9F0C /* ArgumentCaptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94FEF459CF7A13B3FC66D390 /* ArgumentCaptor.swift */; }; @@ -419,7 +395,6 @@ B89DC8BEF25D0A07FC7AB353 /* GenericClassTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83908D3F58736F1C6DA7B2CA /* GenericClassTest.swift */; }; B8D4C89A105E32099C8F6099 /* Mock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33EBD5D113A20F38FCE13BDC /* Mock.swift */; }; BA14903547F97B83C49B708D /* Stubber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C0DC4D2D6B0E6C61B27E90E /* Stubber.swift */; }; - BA2F022A03F5C722516CA9A3 /* Pods_Cuckoo_OCMock_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC87C31AF9604C66718598D4 /* Pods_Cuckoo_OCMock_iOS.framework */; }; BA5FFE5076C1E8B3CD590D77 /* GenericMethodClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E584CAC626A3E38BC45E773 /* GenericMethodClass.swift */; }; BA6739666F5DDC4ADA564E2C /* GenericClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = F01C5ABA73DC1B0CCE088669 /* GenericClass.swift */; }; BAA6262023C7BBD7F945FA91 /* ObjectiveVerify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 107C9243167200396831A18F /* ObjectiveVerify.swift */; }; @@ -445,7 +420,6 @@ C4897A1967455B4F92143684 /* Set+matchers.swift in Sources */ = {isa = PBXBuildFile; fileRef = D535CF4BAE6BA1CA7220CDB7 /* Set+matchers.swift */; }; C5344E4F47B45F5FADB16656 /* StubThrowingFunction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 808091A975F4E8BDDF0C80D9 /* StubThrowingFunction.swift */; }; C5B8787E8B0802D3152CA4F8 /* NestedInPrivateNestedClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 919EA0D2C416F1E4F22DAC20 /* NestedInPrivateNestedClass.swift */; }; - C6D6B51B4A04043D0F733084 /* GeneratedMocks+Nextcloud.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B98FAD3187753DB8CB7365F /* GeneratedMocks+Nextcloud.swift */; }; C6FF45EBE23DE0012F5AB94B /* Set+matchers.swift in Sources */ = {isa = PBXBuildFile; fileRef = D535CF4BAE6BA1CA7220CDB7 /* Set+matchers.swift */; }; C8CD6BDF590654B906A37592 /* NestedInExtensionFromClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9699C3284544FE817C78E474 /* NestedInExtensionFromClass.swift */; }; C918EF1A82AE3300CFD0178C /* Cuckoo-BridgingHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = A78767AF78A5705F914CB5F1 /* Cuckoo-BridgingHeader.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -457,11 +431,13 @@ CC60D01D5BD4771A8EC08F6A /* CreateMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = D44692276AAFF9261EDD5D75 /* CreateMock.swift */; }; CDB0BA16695C98931589704D /* Dictionary+matchers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6975D97C79395805A3BB3B04 /* Dictionary+matchers.swift */; }; CF9317F413BD20D13E4502F1 /* OCMockObject+Workaround.m in Sources */ = {isa = PBXBuildFile; fileRef = C8D7931D2C7E8A64861A1863 /* OCMockObject+Workaround.m */; }; + D03524E1156B4F397E1F82CA /* Pods_Cuckoo_OCMock_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 40DB80F54B07A42FF1962C2B /* Pods_Cuckoo_OCMock_tvOS.framework */; }; D0C7BB10C63B6DF32AAB155F /* MockManager+preconfigured.swift in Sources */ = {isa = PBXBuildFile; fileRef = E83C4A633699E5B88D9A9C1B /* MockManager+preconfigured.swift */; }; D177C67F898B7880F9F52B79 /* DefaultValueRegistry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 190FB7FABF7486D2963F4B44 /* DefaultValueRegistry.swift */; }; D1B2F1EDB5D69085D038C754 /* MultiLayeredNestedTestedSubclassTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F0DF66BC063943C91FB2C3 /* MultiLayeredNestedTestedSubclassTest.swift */; }; D2748592EB84613C53369F04 /* MultiNestedInNestedClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7054833FFF0D253B1E2379FA /* MultiNestedInNestedClass.swift */; }; D275AEED9B225F30135FFF66 /* StubThrowingFunction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 808091A975F4E8BDDF0C80D9 /* StubThrowingFunction.swift */; }; + D3264ED530DA45FDD5AC6F33 /* Pods_Cuckoo_OCMock_iOS_Cuckoo_OCMock_iOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7563FEC35651CC734FED5F2B /* Pods_Cuckoo_OCMock_iOS_Cuckoo_OCMock_iOSTests.framework */; }; D3C9DF9D6A359FD9E9625013 /* StubNoReturnFunction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 700931036CB43C60AEFB7FEB /* StubNoReturnFunction.swift */; }; D477FC12C92D54376DA507B5 /* ClassTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6873C8013002AFEA7565BDAC /* ClassTest.swift */; }; D4AB2487A9A71CAC5C873251 /* VerificationProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = A21CD7B8ADE5ABE0295581D4 /* VerificationProxy.swift */; }; @@ -473,9 +449,8 @@ D7A448F2EFBD49C4B098C7E9 /* StubAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29C647EAE09B6AB55FF6C0CE /* StubAction.swift */; }; D7F382B3F851359B8E560C77 /* Cuckoo-BridgingHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = A78767AF78A5705F914CB5F1 /* Cuckoo-BridgingHeader.h */; settings = {ATTRIBUTES = (Public, ); }; }; D83F61C4CAD4B8E87FE6088F /* StubFunctionThenDoNothingTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C68FC814ACBD3D5E1C7ED1B /* StubFunctionThenDoNothingTrait.swift */; }; - D894A6F842126AEF0718F93D /* GeneratedMocks+MonitorControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9096D4889491251E0B7D5393 /* GeneratedMocks+MonitorControl.swift */; }; - D922EC74B24031B21C176524 /* GeneratedMocks+Signal-iOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D4A5CD9484B982F6E89B2B6 /* GeneratedMocks+Signal-iOS.swift */; }; D941197401297EB373330953 /* ToBeStubbedProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE705433C346CA3DF4E2AB96 /* ToBeStubbedProperty.swift */; }; + D94AE9F9C1D0E030B25D490A /* Pods_Cuckoo_OCMock_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B5C97CE273DA091D627671EB /* Pods_Cuckoo_OCMock_macOS.framework */; }; D971F19A9D0981DAA7D15FCC /* NSObject+TrustMe.h in Headers */ = {isa = PBXBuildFile; fileRef = E5D1F1DDD3B24CEC8D8495BC /* NSObject+TrustMe.h */; settings = {ATTRIBUTES = (Public, ); }; }; D9FD55769EF2C1C52E07D037 /* ToBeStubbedReadOnlyProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 375E2C8E10768E1A9A04C362 /* ToBeStubbedReadOnlyProperty.swift */; }; DA005B81565742306622E7C4 /* ToBeStubbedThrowingProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6907AAE792A71E6883252CD6 /* ToBeStubbedThrowingProperty.swift */; }; @@ -484,24 +459,20 @@ DAA2F77DD7D51DF39A6F121F /* StringProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = C0A3B9B776340082AC6DDE9A /* StringProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; DAB35BAC05BFC9F90970DA61 /* CuckooFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 938B3F655E8E20AB6D341A0D /* CuckooFunctions.swift */; }; DAD4C161978D36BCC64AB3C6 /* UnicodeTestProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 492606B334C561F93ABBE0A3 /* UnicodeTestProtocol.swift */; }; - DBA74258BB7137A8C15E6B98 /* GeneratedMocks+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = F58BD6FC4FE31313954AF218 /* GeneratedMocks+Alamofire.swift */; }; DBFF421C1991EA03F8DFCF7C /* MockBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C0889A597AF4CCA8841B471 /* MockBuilder.swift */; }; DC311FE3570E7C86588944B7 /* PropertyWrappers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D394400A6216C16C31E8436 /* PropertyWrappers.swift */; }; DC954AFA6EEBCD4CE60891BE /* StubbingProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03A9BEFC601EF66DF42D5022 /* StubbingProxy.swift */; }; DCCC78C7E31161EA0CCAA1FF /* Set+matchers.swift in Sources */ = {isa = PBXBuildFile; fileRef = D535CF4BAE6BA1CA7220CDB7 /* Set+matchers.swift */; }; DD0595709253A1058AAD17D7 /* MatchableTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEBE505B4B98BE6289678CD1 /* MatchableTest.swift */; }; DDA3F74ECE9980BC0F403273 /* NSObject+TrustMe.m in Sources */ = {isa = PBXBuildFile; fileRef = E0656C5164A529DCCADBA8F1 /* NSObject+TrustMe.m */; }; - DE4C3E0A8CFE93AE043B9B08 /* Pods_Cuckoo_OCMock_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 315AA320C8878F569D4E9818 /* Pods_Cuckoo_OCMock_tvOS.framework */; }; DEC57D478533E80AF83D2743 /* StubFunctionThenThrowingTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = F398C1D87D71EE8DED0C6EA3 /* StubFunctionThenThrowingTrait.swift */; }; DF80E10853093C087BC804D3 /* VerifyReadOnlyProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7A08AF20C937EF4EB98795B /* VerifyReadOnlyProperty.swift */; }; - DF9F9FD087FA73FBE23ED3CE /* GeneratedMocks+Signal-iOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D4A5CD9484B982F6E89B2B6 /* GeneratedMocks+Signal-iOS.swift */; }; E0A082507429D675FD362155 /* ParameterMatcherFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6CA2236A30B54754F335DC3 /* ParameterMatcherFunctions.swift */; }; E1ECD09A053038A89DC4BC0E /* NSInvocation+OCMockWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = F3C87227E4CAE60FD9202D6F /* NSInvocation+OCMockWrapper.h */; settings = {ATTRIBUTES = (Public, ); }; }; E22E749D0A0B44EC528CB38F /* ProtocolTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6978339A31BEDF22A4115E81 /* ProtocolTest.swift */; }; E28273B64BC1C3C73331A168 /* VerificationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01496A793103612242EE7A04 /* VerificationTest.swift */; }; E2D62D3393599003755F59F6 /* CollisionClasses.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CDB969240E4E2B12FF93284 /* CollisionClasses.swift */; }; E37116F9692A45F7ECF6E8EA /* StubNoReturnFunctionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7635A46FDE48804E6E21EC0 /* StubNoReturnFunctionTest.swift */; }; - E38DF1A6DB5DCFD78552E4D9 /* GeneratedMocks+openhaystack.swift in Sources */ = {isa = PBXBuildFile; fileRef = B54ADB550DB56855B73F854A /* GeneratedMocks+openhaystack.swift */; }; E39A67FBC1DD4826E4E22ECB /* Dictionary+matchersTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B79F4A07874A92D5E117ED8 /* Dictionary+matchersTest.swift */; }; E433CF0AECC850CC4A8A0207 /* StubFunction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82D83797450CB57EC3E0A693 /* StubFunction.swift */; }; E43CC1CA72418C35F7FC5262 /* Array+matchersTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26D3EE02CEB715D5543ACFFC /* Array+matchersTest.swift */; }; @@ -510,7 +481,6 @@ E4EDCB7B18A50B2EDEBA4DB4 /* StubNoReturnThrowingFunction.swift in Sources */ = {isa = PBXBuildFile; fileRef = D920573D13B938FEACFF82C6 /* StubNoReturnThrowingFunction.swift */; }; E54372352D4AF59507465244 /* StubFunctionThenThrowingTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = F398C1D87D71EE8DED0C6EA3 /* StubFunctionThenThrowingTrait.swift */; }; E5724382ECAA05E394B569CA /* ObjectiveCatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C3E2B1C12FF95C6DCA418D5 /* ObjectiveCatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E5D3F43F1A3AD7A1923F5005 /* Pods_Cuckoo_OCMock_macOS_Cuckoo_OCMock_macOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1577FB116F295FB7EB6149B7 /* Pods_Cuckoo_OCMock_macOS_Cuckoo_OCMock_macOSTests.framework */; }; E5F74103A5924E45829670F6 /* ThreadLocal.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB65661C2188A3E830EEBF72 /* ThreadLocal.swift */; }; E61B1327BCAFC0E041FDD864 /* StubNoReturnFunction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 700931036CB43C60AEFB7FEB /* StubNoReturnFunction.swift */; }; E742BE2A69A5807070E873D0 /* ToBeStubbedProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE705433C346CA3DF4E2AB96 /* ToBeStubbedProperty.swift */; }; @@ -538,7 +508,6 @@ F24314E1234140A2ECF98BE0 /* Mock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33EBD5D113A20F38FCE13BDC /* Mock.swift */; }; F25919FEF1D3A359CA975AAE /* CuckooFunctionsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BEF42DC82FC0EF50E83E6CA /* CuckooFunctionsTest.swift */; }; F29B7479CC29DF58FCA87585 /* Array+matchers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D1D814F035D5D39FC84D26C /* Array+matchers.swift */; }; - F34BE0A86D0AE18B45498FD7 /* GeneratedMocks+Whisky.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7638E2749211BA8B65A64DBD /* GeneratedMocks+Whisky.swift */; }; F356B957AEAFF882F46684D6 /* StubFunction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82D83797450CB57EC3E0A693 /* StubFunction.swift */; }; F3872B22B555157CE27A99DE /* StubFunctionThenDoNothingTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C68FC814ACBD3D5E1C7ED1B /* StubFunctionThenDoNothingTrait.swift */; }; F3A1E204BDEA6EA43075BA0D /* MultiLayeredNestedTestedSubclassTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F0DF66BC063943C91FB2C3 /* MultiLayeredNestedTestedSubclassTest.swift */; }; @@ -557,12 +526,10 @@ F98A5E661D992AB274733FAF /* MockManager+preconfigured.swift in Sources */ = {isa = PBXBuildFile; fileRef = E83C4A633699E5B88D9A9C1B /* MockManager+preconfigured.swift */; }; FA4E1EA6ED897418E81B360F /* StubFunctionThenThrowingTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = F398C1D87D71EE8DED0C6EA3 /* StubFunctionThenThrowingTrait.swift */; }; FA7B45FA1AD8F9CA07CC8506 /* NSObject+TrustMe.m in Sources */ = {isa = PBXBuildFile; fileRef = E0656C5164A529DCCADBA8F1 /* NSObject+TrustMe.m */; }; - FA89D0B5B4936694299B3BEA /* Pods_Cuckoo_OCMock_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 439436DB30F6B51EBF386D8C /* Pods_Cuckoo_OCMock_macOS.framework */; }; FB2F76D95E7A236EFE2428D7 /* Mocked.swift in Sources */ = {isa = PBXBuildFile; fileRef = B30A194A634E5972418D171E /* Mocked.swift */; }; FC3E563A8C25A5EBC6EDE1D1 /* TestError.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8F1FB05574F9DB1A4CE7AB3 /* TestError.swift */; }; FE479A853297E45321FFF68D /* __DoNotUse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 511DD0B1EA1EAF535C598A8C /* __DoNotUse.swift */; }; FEC386FA1E00B232E1C7E431 /* ParameterMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A843913B61AB11A80097F51 /* ParameterMatcher.swift */; }; - FFA9D8AFE30ECD938A3C6D2A /* Pods_Cuckoo_OCMock_iOS_Cuckoo_OCMock_iOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 23B4628B60DFE4AFCA2BCBCD /* Pods_Cuckoo_OCMock_iOS_Cuckoo_OCMock_iOSTests.framework */; }; FFBE58E5F81E9E7F173A96A2 /* StubNoReturnThrowingFunction.swift in Sources */ = {isa = PBXBuildFile; fileRef = D920573D13B938FEACFF82C6 /* StubNoReturnThrowingFunction.swift */; }; FFCC5303B4F31B8CE8C14BA1 /* NestedStructTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 245F73FBA37EA0E055BA4EA2 /* NestedStructTest.swift */; }; /* End PBXBuildFile section */ @@ -748,54 +715,48 @@ 0A933D33D55AE257FE9B1097 /* ObjectiveStub.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObjectiveStub.swift; sourceTree = ""; }; 0BEF42DC82FC0EF50E83E6CA /* CuckooFunctionsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CuckooFunctionsTest.swift; sourceTree = ""; }; 0D394400A6216C16C31E8436 /* PropertyWrappers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PropertyWrappers.swift; sourceTree = ""; }; - 0F14EC845C34714ABCAB8198 /* GeneratedMocks+vapor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GeneratedMocks+vapor.swift"; sourceTree = ""; }; 107C9243167200396831A18F /* ObjectiveVerify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObjectiveVerify.swift; sourceTree = ""; }; 119D4E6C9798F70CEBDBB1F2 /* TestedClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestedClass.swift; sourceTree = ""; }; - 1282BAB19F7122CB21F6EDCA /* Pods-Cuckoo_OCMock-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-macOS.release.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-macOS/Pods-Cuckoo_OCMock-macOS.release.xcconfig"; sourceTree = ""; }; - 1577FB116F295FB7EB6149B7 /* Pods_Cuckoo_OCMock_macOS_Cuckoo_OCMock_macOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Cuckoo_OCMock_macOS_Cuckoo_OCMock_macOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 190FB7FABF7486D2963F4B44 /* DefaultValueRegistry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultValueRegistry.swift; sourceTree = ""; }; + 19EE4D0969E0701B33C395DD /* Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.debug.xcconfig"; sourceTree = ""; }; 1A843913B61AB11A80097F51 /* ParameterMatcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParameterMatcher.swift; sourceTree = ""; }; 1B965102D09D6B0E94CDA8EA /* GenericMethodClassTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenericMethodClassTest.swift; sourceTree = ""; }; - 1E13C3DFFA9A3676F92404B7 /* Cuckoo_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Cuckoo_macOS.framework; path = Cuckoo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1BCC023139207C9491BBEA67 /* Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.release.xcconfig"; sourceTree = ""; }; + 1E13C3DFFA9A3676F92404B7 /* Cuckoo_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cuckoo_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 201DFAD306F0F1B18CE9EFBE /* StubFunctionThenThrowTrait.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubFunctionThenThrowTrait.swift; sourceTree = ""; }; - 23B4628B60DFE4AFCA2BCBCD /* Pods_Cuckoo_OCMock_iOS_Cuckoo_OCMock_iOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Cuckoo_OCMock_iOS_Cuckoo_OCMock_iOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 245F73FBA37EA0E055BA4EA2 /* NestedStructTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NestedStructTest.swift; sourceTree = ""; }; 26D3EE02CEB715D5543ACFFC /* Array+matchersTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+matchersTest.swift"; sourceTree = ""; }; 2776FBCC90C18A2F8C28CB85 /* Cuckoo_macOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Cuckoo_macOSTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 29C647EAE09B6AB55FF6C0CE /* StubAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubAction.swift; sourceTree = ""; }; 29F42B443F090072DFF751FD /* NestedExtensionClassTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NestedExtensionClassTest.swift; sourceTree = ""; }; 2C68FC814ACBD3D5E1C7ED1B /* StubFunctionThenDoNothingTrait.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubFunctionThenDoNothingTrait.swift; sourceTree = ""; }; - 2EF265E30C5EAB6E3ABC0C69 /* GeneratedMocks+ShadowsocksX-NG.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GeneratedMocks+ShadowsocksX-NG.swift"; sourceTree = ""; }; 2F445E0EFD2FD1FBC888DB72 /* CallMatcherTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallMatcherTest.swift; sourceTree = ""; }; 30EE51B1225328733D4F5DBA /* Cuckoo_OCMock-macOS-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "Cuckoo_OCMock-macOS-Info.plist"; sourceTree = ""; }; - 315AA320C8878F569D4E9818 /* Pods_Cuckoo_OCMock_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Cuckoo_OCMock_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3191519C8ED4DD5B3D439A93 /* StubFunctionThenReturnTrait.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubFunctionThenReturnTrait.swift; sourceTree = ""; }; 32A299482E4D2B7B774373A1 /* ClassWithOptionals.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClassWithOptionals.swift; sourceTree = ""; }; 33EBD5D113A20F38FCE13BDC /* Mock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Mock.swift; sourceTree = ""; }; 355C36C0536DBF7EDA3C2B96 /* ObjcProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObjcProtocol.swift; sourceTree = ""; }; 375E2C8E10768E1A9A04C362 /* ToBeStubbedReadOnlyProperty.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToBeStubbedReadOnlyProperty.swift; sourceTree = ""; }; + 3A727AD522B07898CC92A3D9 /* Pods-Cuckoo_OCMock-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-iOS.release.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-iOS/Pods-Cuckoo_OCMock-iOS.release.xcconfig"; sourceTree = ""; }; 3C3E2B1C12FF95C6DCA418D5 /* ObjectiveCatcher.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ObjectiveCatcher.h; sourceTree = ""; }; 3CD1EF95EED208CF56D123F8 /* Cuckoo_OCMock_tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Cuckoo_OCMock_tvOSTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3D1D814F035D5D39FC84D26C /* Array+matchers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+matchers.swift"; sourceTree = ""; }; 3D65D2B6FD44C2CC59D6C7F4 /* StubbingTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubbingTest.swift; sourceTree = ""; }; 3FB937EA0F029B222D748FED /* ClassWithUnavailablePlatformMembers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClassWithUnavailablePlatformMembers.swift; sourceTree = ""; }; + 40DB80F54B07A42FF1962C2B /* Pods_Cuckoo_OCMock_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Cuckoo_OCMock_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 40FB9A410020B1B90952823C /* StubTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubTest.swift; sourceTree = ""; }; 411E675E3332CB3C8D02567A /* FailTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FailTest.swift; sourceTree = ""; }; 413C820C0EB93F0E9C0DFCB7 /* Cuckoo-tvOS-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "Cuckoo-tvOS-Info.plist"; sourceTree = ""; }; - 439436DB30F6B51EBF386D8C /* Pods_Cuckoo_OCMock_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Cuckoo_OCMock_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 475A5EAA15D41E418BE11146 /* GeneratedMocks+iina.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GeneratedMocks+iina.swift"; sourceTree = ""; }; 492606B334C561F93ABBE0A3 /* UnicodeTestProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnicodeTestProtocol.swift; sourceTree = ""; }; 511DD0B1EA1EAF535C598A8C /* __DoNotUse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = __DoNotUse.swift; sourceTree = ""; }; 5319F82EEAE3868CE8F23172 /* StubFunctionThenCallRealImplementationTrait.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubFunctionThenCallRealImplementationTrait.swift; sourceTree = ""; }; 55DE1954C1D6E94F2911830A /* ClassForStubTesting.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClassForStubTesting.swift; sourceTree = ""; }; 5673B933A24CA65D15B3FD3A /* CallMatcherFunctionsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallMatcherFunctionsTest.swift; sourceTree = ""; }; - 581CA228CD17DC357B49FD82 /* Pods-Cuckoo_OCMock-macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-macOS.debug.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-macOS/Pods-Cuckoo_OCMock-macOS.debug.xcconfig"; sourceTree = ""; }; 5A67E79E73B4710B3C846F96 /* StubNoReturnThrowingFunctionTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubNoReturnThrowingFunctionTest.swift; sourceTree = ""; }; - 5ACE14220E6E1553920E06A8 /* Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.debug.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.debug.xcconfig"; sourceTree = ""; }; - 5B98FAD3187753DB8CB7365F /* GeneratedMocks+Nextcloud.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GeneratedMocks+Nextcloud.swift"; sourceTree = ""; }; 5BA3EB970DE7CF1D83AC121F /* StubCall.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubCall.swift; sourceTree = ""; }; 5CC319F6F55C00CFD3D0AF96 /* CallMatcherFunctions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallMatcherFunctions.swift; sourceTree = ""; }; 6003DBCF1B0CB5014D232663 /* NestedInNestedClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NestedInNestedClass.swift; sourceTree = ""; }; + 622CC86A3A7471ED234CF01A /* Pods_Cuckoo_OCMock_tvOS_Cuckoo_OCMock_tvOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Cuckoo_OCMock_tvOS_Cuckoo_OCMock_tvOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 648E1DCC3FA05944AC970663 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; 64F2852ABE97CC059DD98D13 /* ExcludedStubTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExcludedStubTest.swift; sourceTree = ""; }; 654DD2C28B20B62C30F20699 /* ObjectiveCatcher.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ObjectiveCatcher.m; sourceTree = ""; }; @@ -805,17 +766,15 @@ 6975D97C79395805A3BB3B04 /* Dictionary+matchers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Dictionary+matchers.swift"; sourceTree = ""; }; 6978339A31BEDF22A4115E81 /* ProtocolTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProtocolTest.swift; sourceTree = ""; }; 6C0DC4D2D6B0E6C61B27E90E /* Stubber.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Stubber.swift; sourceTree = ""; }; - 6D4A5CD9484B982F6E89B2B6 /* GeneratedMocks+Signal-iOS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GeneratedMocks+Signal-iOS.swift"; sourceTree = ""; }; - 6D5748FF5110E65579058F10 /* Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.debug.xcconfig"; sourceTree = ""; }; 6DBE7A13FEE1B8C7EE8DA363 /* Cuckoo-macOS-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "Cuckoo-macOS-Info.plist"; sourceTree = ""; }; - 6E0D2EDD126561E21E0B4FEB /* Pods_Cuckoo_OCMock_tvOS_Cuckoo_OCMock_tvOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Cuckoo_OCMock_tvOS_Cuckoo_OCMock_tvOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 700931036CB43C60AEFB7FEB /* StubNoReturnFunction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubNoReturnFunction.swift; sourceTree = ""; }; 7054833FFF0D253B1E2379FA /* MultiNestedInNestedClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiNestedInNestedClass.swift; sourceTree = ""; }; 70AE18F5D3419D1025D081CA /* ParameterMatcherTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParameterMatcherTest.swift; sourceTree = ""; }; 7432F97D87C063CB4923E570 /* StubThrowingFunctionTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubThrowingFunctionTest.swift; sourceTree = ""; }; 753FC6D19235B2C8F2DBAA7B /* VerifyProperty.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerifyProperty.swift; sourceTree = ""; }; - 7638E2749211BA8B65A64DBD /* GeneratedMocks+Whisky.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GeneratedMocks+Whisky.swift"; sourceTree = ""; }; + 7563FEC35651CC734FED5F2B /* Pods_Cuckoo_OCMock_iOS_Cuckoo_OCMock_iOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Cuckoo_OCMock_iOS_Cuckoo_OCMock_iOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 76DE925DA03AAA0FD9734CFE /* ArgumentCaptorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArgumentCaptorTest.swift; sourceTree = ""; }; + 787CFFF91ADFDD8E393B0D9C /* Pods_Cuckoo_OCMock_macOS_Cuckoo_OCMock_macOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Cuckoo_OCMock_macOS_Cuckoo_OCMock_macOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AEF1D77E05D83F84ADE7A87 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; 7B79F4A07874A92D5E117ED8 /* Dictionary+matchersTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Dictionary+matchersTest.swift"; sourceTree = ""; }; 7BA242F7A830953CD5E4AC4A /* StringProxy.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = StringProxy.m; sourceTree = ""; }; @@ -825,18 +784,17 @@ 82D83797450CB57EC3E0A693 /* StubFunction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubFunction.swift; sourceTree = ""; }; 83908D3F58736F1C6DA7B2CA /* GenericClassTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenericClassTest.swift; sourceTree = ""; }; 866CED1C72D1F35C10251CCC /* NSObjectProtocolInheritanceTesting.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSObjectProtocolInheritanceTesting.swift; sourceTree = ""; }; - 86D638696C1458550D4524F1 /* Cuckoo_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Cuckoo_tvOS.framework; path = Cuckoo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 88EEE9C66E94996612ACBB80 /* Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.release.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.release.xcconfig"; sourceTree = ""; }; + 86D638696C1458550D4524F1 /* Cuckoo_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cuckoo_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 8B40CC43D7A77DFD4702178A /* MultiNestedPrivateExtensionClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiNestedPrivateExtensionClass.swift; sourceTree = ""; }; 8C4A20137742161D649D3E3B /* NestedSubclassTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NestedSubclassTest.swift; sourceTree = ""; }; 8C854CC76B478ED72B6D3A65 /* CallMatcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallMatcher.swift; sourceTree = ""; }; 8CDB969240E4E2B12FF93284 /* CollisionClasses.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollisionClasses.swift; sourceTree = ""; }; 8FAA0AEFE10E214A84C0E8EA /* Cuckoo_OCMock-iOS-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "Cuckoo_OCMock-iOS-Info.plist"; sourceTree = ""; }; 8FBE411D64C1D2B056E42C52 /* NSObjectProtocolInheritanceTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSObjectProtocolInheritanceTest.swift; sourceTree = ""; }; - 8FE27EC365775AC73043E847 /* Pods-Cuckoo_OCMock-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-tvOS/Pods-Cuckoo_OCMock-tvOS.debug.xcconfig"; sourceTree = ""; }; + 902D531B3156FA7C4049BB09 /* Pods-Cuckoo_OCMock-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-tvOS/Pods-Cuckoo_OCMock-tvOS.debug.xcconfig"; sourceTree = ""; }; 905EC88A402004B01C6FE73E /* GenericProtocolTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenericProtocolTest.swift; sourceTree = ""; }; - 9096D4889491251E0B7D5393 /* GeneratedMocks+MonitorControl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GeneratedMocks+MonitorControl.swift"; sourceTree = ""; }; 90CA6A2E0084041FD2CA4DD9 /* Cuckoo_tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Cuckoo_tvOSTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 912D4E55035388BB0132C56B /* Pods-Cuckoo_OCMock-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-iOS.debug.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-iOS/Pods-Cuckoo_OCMock-iOS.debug.xcconfig"; sourceTree = ""; }; 91992FE8D38A6900C005B0A4 /* MockManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockManager.swift; sourceTree = ""; }; 919EA0D2C416F1E4F22DAC20 /* NestedInPrivateNestedClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NestedInPrivateNestedClass.swift; sourceTree = ""; }; 938B3F655E8E20AB6D341A0D /* CuckooFunctions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CuckooFunctions.swift; sourceTree = ""; }; @@ -845,31 +803,32 @@ 95CF3EE4189F2010800E2511 /* MultiNestedInPrivateNestedClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiNestedInPrivateNestedClass.swift; sourceTree = ""; }; 9699C3284544FE817C78E474 /* NestedInExtensionFromClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NestedInExtensionFromClass.swift; sourceTree = ""; }; 96C749F49256DDA51A9C96C9 /* StubFunctionThenTrait.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubFunctionThenTrait.swift; sourceTree = ""; }; + 98074C674352DC35560FE3F2 /* Pods_Cuckoo_OCMock_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Cuckoo_OCMock_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 989EFADEC10AB6D627A5FAE6 /* NSValueConvertible.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSValueConvertible.swift; sourceTree = ""; }; 9C0889A597AF4CCA8841B471 /* MockBuilder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockBuilder.swift; sourceTree = ""; }; - 9C262195FADBEA945933FE98 /* Pods-Cuckoo_OCMock-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-tvOS.release.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-tvOS/Pods-Cuckoo_OCMock-tvOS.release.xcconfig"; sourceTree = ""; }; - 9DD5D3471880E656BEA0A210 /* Cuckoo_OCMock_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Cuckoo_OCMock_iOS.framework; path = Cuckoo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9DD5D3471880E656BEA0A210 /* Cuckoo_OCMock_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cuckoo_OCMock_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9DE5DC1B6EC0BF686019517B /* UnavailablePlatformProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnavailablePlatformProtocol.swift; sourceTree = ""; }; 9E584CAC626A3E38BC45E773 /* GenericMethodClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenericMethodClass.swift; sourceTree = ""; }; 9EE3E19406E96533EBBBD138 /* OCMockObject+CuckooMockObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "OCMockObject+CuckooMockObject.h"; sourceTree = ""; }; A21CD7B8ADE5ABE0295581D4 /* VerificationProxy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationProxy.swift; sourceTree = ""; }; + A2B553F72D9888FCC72F1244 /* Pods-Cuckoo_OCMock-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-tvOS.release.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-tvOS/Pods-Cuckoo_OCMock-tvOS.release.xcconfig"; sourceTree = ""; }; A398D6337F320A5F78FA4A5A /* GenericProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenericProtocol.swift; sourceTree = ""; }; + A5034DBBB6F734240EE7CE35 /* Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.release.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.release.xcconfig"; sourceTree = ""; }; A78767AF78A5705F914CB5F1 /* Cuckoo-BridgingHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Cuckoo-BridgingHeader.h"; sourceTree = ""; }; - A8F9114EFD61D69713AFC056 /* Pods-Cuckoo_OCMock-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-iOS.release.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-iOS/Pods-Cuckoo_OCMock-iOS.release.xcconfig"; sourceTree = ""; }; AC30579DC4B1D5D5CC959724 /* Cuckoo-iOS-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "Cuckoo-iOS-Info.plist"; sourceTree = ""; }; AD3E7F562DC17ECF3B32CBB3 /* TestedSubProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestedSubProtocol.swift; sourceTree = ""; }; AE4758812545462B94DAB7A4 /* Stub.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Stub.swift; sourceTree = ""; }; B30A194A634E5972418D171E /* Mocked.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Mocked.swift; sourceTree = ""; }; - B54ADB550DB56855B73F854A /* GeneratedMocks+openhaystack.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GeneratedMocks+openhaystack.swift"; sourceTree = ""; }; + B5C97CE273DA091D627671EB /* Pods_Cuckoo_OCMock_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Cuckoo_OCMock_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B6B86DCAC6958FF36DF3639C /* ParameterMatcherFunctionsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParameterMatcherFunctionsTest.swift; sourceTree = ""; }; + B6C1C26829A9192BB06BEFEC /* Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.release.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests/Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.release.xcconfig"; sourceTree = ""; }; B81133817083F2B8122BE188 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; B9813FA38F8AB71BEE454CF4 /* Cuckoo-iOSTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "Cuckoo-iOSTests-Info.plist"; sourceTree = ""; }; BA8CA90EAB7BD8AB7F5840D0 /* Cuckoo_OCMock-macOSTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "Cuckoo_OCMock-macOSTests-Info.plist"; sourceTree = ""; }; BB894FF725838C4DE9FFDC9A /* MultiNestedInExtensionFromClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiNestedInExtensionFromClass.swift; sourceTree = ""; }; BE8D6304542FA91BF6FB258B /* Cuckoo_OCMock_iOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Cuckoo_OCMock_iOSTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - BF35063CFBF34817123D1BA7 /* GeneratedMocks+SnapKit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GeneratedMocks+SnapKit.swift"; sourceTree = ""; }; C0A3B9B776340082AC6DDE9A /* StringProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StringProxy.h; sourceTree = ""; }; - C29A6852598014A495CF05BF /* Cuckoo_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Cuckoo_iOS.framework; path = Cuckoo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C29A6852598014A495CF05BF /* Cuckoo_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cuckoo_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C3D36A00ADFA42CC4C411F3E /* ObjectiveProtocolTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObjectiveProtocolTest.swift; sourceTree = ""; }; C43E9DFB27189A8D16B0601D /* Cuckoo_OCMock-tvOSTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "Cuckoo_OCMock-tvOSTests-Info.plist"; sourceTree = ""; }; C55014A1A85497F2153371D7 /* TestUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestUtils.swift; sourceTree = ""; }; @@ -881,42 +840,39 @@ C90E9A4C6A1716C6D219D26E /* NestedInNestedStruct.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NestedInNestedStruct.swift; sourceTree = ""; }; C9525C20EA498D59BFCE3F7B /* ObjectiveAssertThrows.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObjectiveAssertThrows.swift; sourceTree = ""; }; CB65661C2188A3E830EEBF72 /* ThreadLocal.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThreadLocal.swift; sourceTree = ""; }; - CC87C31AF9604C66718598D4 /* Pods_Cuckoo_OCMock_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Cuckoo_OCMock_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; CEBE505B4B98BE6289678CD1 /* MatchableTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MatchableTest.swift; sourceTree = ""; }; D09B97C65DA87366B8605109 /* Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Utils.swift; sourceTree = ""; }; - D258A7CA85EC209CD723E98E /* Pods-Cuckoo_OCMock-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-iOS.debug.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-iOS/Pods-Cuckoo_OCMock-iOS.debug.xcconfig"; sourceTree = ""; }; + D2C763498BA07477F0BA062A /* Pods-Cuckoo_OCMock-macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-macOS.debug.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-macOS/Pods-Cuckoo_OCMock-macOS.debug.xcconfig"; sourceTree = ""; }; D44692276AAFF9261EDD5D75 /* CreateMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreateMock.swift; sourceTree = ""; }; D535CF4BAE6BA1CA7220CDB7 /* Set+matchers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Set+matchers.swift"; sourceTree = ""; }; D732D63C18B4DE267CB365CF /* OCMockObject+CuckooMockObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "OCMockObject+CuckooMockObject.m"; sourceTree = ""; }; D7635A46FDE48804E6E21EC0 /* StubNoReturnFunctionTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubNoReturnFunctionTest.swift; sourceTree = ""; }; D7A08AF20C937EF4EB98795B /* VerifyReadOnlyProperty.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerifyReadOnlyProperty.swift; sourceTree = ""; }; - D855D7BE03DE7D8BADEBF33D /* GeneratedMocks+swift-nio.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GeneratedMocks+swift-nio.swift"; sourceTree = ""; }; - D8D1A9C069AD1D4EDCC67319 /* Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.release.xcconfig"; sourceTree = ""; }; D920573D13B938FEACFF82C6 /* StubNoReturnThrowingFunction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubNoReturnThrowingFunction.swift; sourceTree = ""; }; DA0F20F08A3C63CB00D2E7E4 /* TestedSubclass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestedSubclass.swift; sourceTree = ""; }; DAFDD79179243CBB217358C7 /* TestedProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestedProtocol.swift; sourceTree = ""; }; - DD602003CA8435C13BED8902 /* Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.release.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests/Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.release.xcconfig"; sourceTree = ""; }; - DD83449ACABE73EE786CA3E3 /* Cuckoo_OCMock_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Cuckoo_OCMock_macOS.framework; path = Cuckoo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DD83449ACABE73EE786CA3E3 /* Cuckoo_OCMock_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cuckoo_OCMock_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DE395833B378D0207B1FBF1D /* Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.debug.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.debug.xcconfig"; sourceTree = ""; }; E0656C5164A529DCCADBA8F1 /* NSObject+TrustMe.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSObject+TrustMe.m"; sourceTree = ""; }; E216B22B63CECBFA5F681510 /* Cuckoo-tvOSTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "Cuckoo-tvOSTests-Info.plist"; sourceTree = ""; }; E3646D56C8005FB7E1B11B67 /* NestedClassTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NestedClassTest.swift; sourceTree = ""; }; E4A99A2173E7F7743145B11B /* GeneratedMocks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GeneratedMocks.swift; sourceTree = ""; }; E5D1F1DDD3B24CEC8D8495BC /* NSObject+TrustMe.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSObject+TrustMe.h"; sourceTree = ""; }; E80D1401CB6046B1AEDBE204 /* DefaultValueRegistryTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultValueRegistryTest.swift; sourceTree = ""; }; - E8119F7A29EE4BDFD5D68A22 /* Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.debug.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests/Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.debug.xcconfig"; sourceTree = ""; }; E83C4A633699E5B88D9A9C1B /* MockManager+preconfigured.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MockManager+preconfigured.swift"; sourceTree = ""; }; E8F1FB05574F9DB1A4CE7AB3 /* TestError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestError.swift; sourceTree = ""; }; + E98E8A9522A505CD52AA7A1E /* Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.debug.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests/Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.debug.xcconfig"; sourceTree = ""; }; EAFD10D2F5491D90D226ED78 /* ObjectiveClassTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObjectiveClassTest.swift; sourceTree = ""; }; ECFED3C29F5CA48398AF0C5B /* NestedPrivateExtensionClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NestedPrivateExtensionClass.swift; sourceTree = ""; }; EE5F4691EE101415724C1D73 /* Cuckoo_OCMock-iOSTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "Cuckoo_OCMock-iOSTests-Info.plist"; sourceTree = ""; }; F01C5ABA73DC1B0CCE088669 /* GenericClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenericClass.swift; sourceTree = ""; }; F398C1D87D71EE8DED0C6EA3 /* StubFunctionThenThrowingTrait.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubFunctionThenThrowingTrait.swift; sourceTree = ""; }; F3C87227E4CAE60FD9202D6F /* NSInvocation+OCMockWrapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSInvocation+OCMockWrapper.h"; sourceTree = ""; }; - F58BD6FC4FE31313954AF218 /* GeneratedMocks+Alamofire.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GeneratedMocks+Alamofire.swift"; sourceTree = ""; }; F6CA2236A30B54754F335DC3 /* ParameterMatcherFunctions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParameterMatcherFunctions.swift; sourceTree = ""; }; F70C4FAE3318E21F0A87531A /* ObjectiveMatchers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObjectiveMatchers.swift; sourceTree = ""; }; + F7759FCD1C2B73ECEAAEBDD8 /* Pods-Cuckoo_OCMock-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Cuckoo_OCMock-macOS.release.xcconfig"; path = "Target Support Files/Pods-Cuckoo_OCMock-macOS/Pods-Cuckoo_OCMock-macOS.release.xcconfig"; sourceTree = ""; }; F81B5143E65D60134B59CFA4 /* Cuckoo_OCMock-tvOS-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "Cuckoo_OCMock-tvOS-Info.plist"; sourceTree = ""; }; - F981A41C0D53F5AF59BD7202 /* Cuckoo_OCMock_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Cuckoo_OCMock_tvOS.framework; path = Cuckoo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F981A41C0D53F5AF59BD7202 /* Cuckoo_OCMock_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cuckoo_OCMock_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; FB36E482FF288D775B744A02 /* ExcludedTestClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExcludedTestClass.swift; sourceTree = ""; }; FE705433C346CA3DF4E2AB96 /* ToBeStubbedProperty.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToBeStubbedProperty.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -951,7 +907,7 @@ buildActionMask = 2147483647; files = ( 8C61162C8AFDB8D153798DBC /* XCTest.framework in Frameworks */, - FA89D0B5B4936694299B3BEA /* Pods_Cuckoo_OCMock_macOS.framework in Frameworks */, + D94AE9F9C1D0E030B25D490A /* Pods_Cuckoo_OCMock_macOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -960,7 +916,7 @@ buildActionMask = 2147483647; files = ( 11700496E1D2DF02E9CD49BE /* XCTest.framework in Frameworks */, - BA2F022A03F5C722516CA9A3 /* Pods_Cuckoo_OCMock_iOS.framework in Frameworks */, + AC26D77EBB0038A69E166BB6 /* Pods_Cuckoo_OCMock_iOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -969,7 +925,7 @@ buildActionMask = 2147483647; files = ( 3CFAA76E52C3382D06DDDB7A /* Cuckoo_OCMock_tvOS.framework in Frameworks */, - 1456EC54BC4209B159A83CE3 /* Pods_Cuckoo_OCMock_tvOS_Cuckoo_OCMock_tvOSTests.framework in Frameworks */, + 7A84DB694DF56AE2B324CB86 /* Pods_Cuckoo_OCMock_tvOS_Cuckoo_OCMock_tvOSTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -978,7 +934,7 @@ buildActionMask = 2147483647; files = ( 8443421090DA81C2C68570A1 /* Cuckoo_OCMock_macOS.framework in Frameworks */, - E5D3F43F1A3AD7A1923F5005 /* Pods_Cuckoo_OCMock_macOS_Cuckoo_OCMock_macOSTests.framework in Frameworks */, + 97BB175DC4B6D4ED6EE48A31 /* Pods_Cuckoo_OCMock_macOS_Cuckoo_OCMock_macOSTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1003,7 +959,7 @@ buildActionMask = 2147483647; files = ( 996F90892116045116104676 /* Cuckoo_OCMock_iOS.framework in Frameworks */, - FFA9D8AFE30ECD938A3C6D2A /* Pods_Cuckoo_OCMock_iOS_Cuckoo_OCMock_iOSTests.framework in Frameworks */, + D3264ED530DA45FDD5AC6F33 /* Pods_Cuckoo_OCMock_iOS_Cuckoo_OCMock_iOSTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1012,7 +968,7 @@ buildActionMask = 2147483647; files = ( 48C1BD8F4E0BA4C6CA1D76D3 /* XCTest.framework in Frameworks */, - DE4C3E0A8CFE93AE043B9B08 /* Pods_Cuckoo_OCMock_tvOS.framework in Frameworks */, + D03524E1156B4F397E1F82CA /* Pods_Cuckoo_OCMock_tvOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1070,7 +1026,7 @@ B9E2517ABB4C90F2E8FA4696 /* Project */, FEEC9B8DBF0FA8678CE815E0 /* Frameworks */, 512C697A5D123B937FE97812 /* Products */, - 422DEB5A529D7F3179CB578E /* Pods */, + BFD067B8ACE6ED674C63088E /* Pods */, ); sourceTree = ""; }; @@ -1078,17 +1034,6 @@ isa = PBXGroup; children = ( E4A99A2173E7F7743145B11B /* GeneratedMocks.swift */, - F58BD6FC4FE31313954AF218 /* GeneratedMocks+Alamofire.swift */, - 475A5EAA15D41E418BE11146 /* GeneratedMocks+iina.swift */, - 9096D4889491251E0B7D5393 /* GeneratedMocks+MonitorControl.swift */, - 5B98FAD3187753DB8CB7365F /* GeneratedMocks+Nextcloud.swift */, - B54ADB550DB56855B73F854A /* GeneratedMocks+openhaystack.swift */, - 2EF265E30C5EAB6E3ABC0C69 /* GeneratedMocks+ShadowsocksX-NG.swift */, - 6D4A5CD9484B982F6E89B2B6 /* GeneratedMocks+Signal-iOS.swift */, - BF35063CFBF34817123D1BA7 /* GeneratedMocks+SnapKit.swift */, - D855D7BE03DE7D8BADEBF33D /* GeneratedMocks+swift-nio.swift */, - 0F14EC845C34714ABCAB8198 /* GeneratedMocks+vapor.swift */, - 7638E2749211BA8B65A64DBD /* GeneratedMocks+Whisky.swift */, ); path = Generated; sourceTree = ""; @@ -1110,25 +1055,6 @@ path = OCMock; sourceTree = ""; }; - 422DEB5A529D7F3179CB578E /* Pods */ = { - isa = PBXGroup; - children = ( - D258A7CA85EC209CD723E98E /* Pods-Cuckoo_OCMock-iOS.debug.xcconfig */, - A8F9114EFD61D69713AFC056 /* Pods-Cuckoo_OCMock-iOS.release.xcconfig */, - E8119F7A29EE4BDFD5D68A22 /* Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.debug.xcconfig */, - DD602003CA8435C13BED8902 /* Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.release.xcconfig */, - 581CA228CD17DC357B49FD82 /* Pods-Cuckoo_OCMock-macOS.debug.xcconfig */, - 1282BAB19F7122CB21F6EDCA /* Pods-Cuckoo_OCMock-macOS.release.xcconfig */, - 5ACE14220E6E1553920E06A8 /* Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.debug.xcconfig */, - 88EEE9C66E94996612ACBB80 /* Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.release.xcconfig */, - 8FE27EC365775AC73043E847 /* Pods-Cuckoo_OCMock-tvOS.debug.xcconfig */, - 9C262195FADBEA945933FE98 /* Pods-Cuckoo_OCMock-tvOS.release.xcconfig */, - 6D5748FF5110E65579058F10 /* Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.debug.xcconfig */, - D8D1A9C069AD1D4EDCC67319 /* Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.release.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; 422FE57E963E63B12F0FE722 /* Source */ = { isa = PBXGroup; children = ( @@ -1372,6 +1298,26 @@ name = Project; sourceTree = ""; }; + BFD067B8ACE6ED674C63088E /* Pods */ = { + isa = PBXGroup; + children = ( + 912D4E55035388BB0132C56B /* Pods-Cuckoo_OCMock-iOS.debug.xcconfig */, + 3A727AD522B07898CC92A3D9 /* Pods-Cuckoo_OCMock-iOS.release.xcconfig */, + E98E8A9522A505CD52AA7A1E /* Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.debug.xcconfig */, + B6C1C26829A9192BB06BEFEC /* Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.release.xcconfig */, + D2C763498BA07477F0BA062A /* Pods-Cuckoo_OCMock-macOS.debug.xcconfig */, + F7759FCD1C2B73ECEAAEBDD8 /* Pods-Cuckoo_OCMock-macOS.release.xcconfig */, + DE395833B378D0207B1FBF1D /* Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.debug.xcconfig */, + A5034DBBB6F734240EE7CE35 /* Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.release.xcconfig */, + 902D531B3156FA7C4049BB09 /* Pods-Cuckoo_OCMock-tvOS.debug.xcconfig */, + A2B553F72D9888FCC72F1244 /* Pods-Cuckoo_OCMock-tvOS.release.xcconfig */, + 19EE4D0969E0701B33C395DD /* Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.debug.xcconfig */, + 1BCC023139207C9491BBEA67 /* Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.release.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; BFF1C99A253A9C49D2A312BA /* ToBeStubbedProperty */ = { isa = PBXGroup; children = ( @@ -1422,12 +1368,12 @@ 7AEF1D77E05D83F84ADE7A87 /* XCTest.framework */, B81133817083F2B8122BE188 /* XCTest.framework */, 648E1DCC3FA05944AC970663 /* XCTest.framework */, - CC87C31AF9604C66718598D4 /* Pods_Cuckoo_OCMock_iOS.framework */, - 23B4628B60DFE4AFCA2BCBCD /* Pods_Cuckoo_OCMock_iOS_Cuckoo_OCMock_iOSTests.framework */, - 439436DB30F6B51EBF386D8C /* Pods_Cuckoo_OCMock_macOS.framework */, - 1577FB116F295FB7EB6149B7 /* Pods_Cuckoo_OCMock_macOS_Cuckoo_OCMock_macOSTests.framework */, - 315AA320C8878F569D4E9818 /* Pods_Cuckoo_OCMock_tvOS.framework */, - 6E0D2EDD126561E21E0B4FEB /* Pods_Cuckoo_OCMock_tvOS_Cuckoo_OCMock_tvOSTests.framework */, + 98074C674352DC35560FE3F2 /* Pods_Cuckoo_OCMock_iOS.framework */, + 7563FEC35651CC734FED5F2B /* Pods_Cuckoo_OCMock_iOS_Cuckoo_OCMock_iOSTests.framework */, + B5C97CE273DA091D627671EB /* Pods_Cuckoo_OCMock_macOS.framework */, + 787CFFF91ADFDD8E393B0D9C /* Pods_Cuckoo_OCMock_macOS_Cuckoo_OCMock_macOSTests.framework */, + 40DB80F54B07A42FF1962C2B /* Pods_Cuckoo_OCMock_tvOS.framework */, + 622CC86A3A7471ED234CF01A /* Pods_Cuckoo_OCMock_tvOS_Cuckoo_OCMock_tvOSTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -1484,12 +1430,12 @@ isa = PBXNativeTarget; buildConfigurationList = D8D9738C622AC77A0AD3C99C /* Build configuration list for PBXNativeTarget "Cuckoo_OCMock-tvOSTests" */; buildPhases = ( - 9DB9508516886341E462CB10 /* [CP] Check Pods Manifest.lock */, + 2364A83BDC37FACBE3B7F0EE /* [CP] Check Pods Manifest.lock */, DCFCE738380747FA90A17E02 /* Sources */, 44A58B8F3B45191E95CE2650 /* Resources */, EE7B717FA1BFB5D77F7E37E0 /* Embed Frameworks */, 52AD199FB7C4B081CEB16EB7 /* Frameworks */, - 495B53AE23D3D900C066641F /* [CP] Embed Pods Frameworks */, + B57E07C567F0291CD9660698 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -1523,12 +1469,12 @@ isa = PBXNativeTarget; buildConfigurationList = 4975D1A314DF2F3B03921C05 /* Build configuration list for PBXNativeTarget "Cuckoo_OCMock-iOSTests" */; buildPhases = ( - 60E8892108626C7FE3B9B43C /* [CP] Check Pods Manifest.lock */, + 137F2EC1D02A60AF870C5C75 /* [CP] Check Pods Manifest.lock */, DA8CF62D0B45947696C7CA57 /* Sources */, 9F5A861AA4A648E0AA8CBAF3 /* Resources */, 95F067D7C8E3858D9C7B1ACA /* Embed Frameworks */, C5252DF514145309C583BC1C /* Frameworks */, - 97020C27F73397A2761B5840 /* [CP] Embed Pods Frameworks */, + E827641ABE94DB31D2221362 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -1544,7 +1490,7 @@ isa = PBXNativeTarget; buildConfigurationList = BAD574EA9F7BD25327F418C8 /* Build configuration list for PBXNativeTarget "Cuckoo_OCMock-macOS" */; buildPhases = ( - 4352EA547AAE24CD18831FD0 /* [CP] Check Pods Manifest.lock */, + 47AD3A7A36790051354C1ADA /* [CP] Check Pods Manifest.lock */, 289CD55941F8375304A0FA40 /* Headers */, 97824D7A6F12CE3AE9E4C89E /* Sources */, E5B19CA15C7230C7DB4DEAE8 /* Resources */, @@ -1622,7 +1568,7 @@ isa = PBXNativeTarget; buildConfigurationList = 431006DE18EB78C97D35651A /* Build configuration list for PBXNativeTarget "Cuckoo_OCMock-iOS" */; buildPhases = ( - 50E5C13687AF5C02BA1C9B82 /* [CP] Check Pods Manifest.lock */, + 83216F4CDA247C02DFC48541 /* [CP] Check Pods Manifest.lock */, 36034BCF09BB5C60775B1390 /* Headers */, 54DBCB29E77138C0A8DA5AE9 /* Sources */, 3A87627B88A1B3B0BACF31A3 /* Resources */, @@ -1642,7 +1588,7 @@ isa = PBXNativeTarget; buildConfigurationList = D5AB84ECE1C48279A3174C2F /* Build configuration list for PBXNativeTarget "Cuckoo_OCMock-tvOS" */; buildPhases = ( - 3B80C9C22C65245E38F14C88 /* [CP] Check Pods Manifest.lock */, + 8805B11D1FE52E308C0AE7EB /* [CP] Check Pods Manifest.lock */, 66785690DDA051B8D848078C /* Headers */, 57C722FCE701A7CB8373AF82 /* Sources */, 91DE98464C1F3EC6B841B817 /* Resources */, @@ -1680,12 +1626,12 @@ isa = PBXNativeTarget; buildConfigurationList = 419AB8BB7268955611576ABC /* Build configuration list for PBXNativeTarget "Cuckoo_OCMock-macOSTests" */; buildPhases = ( - AF2659D207E0322E0C512369 /* [CP] Check Pods Manifest.lock */, + F5ED5242B87D8AAC87726C40 /* [CP] Check Pods Manifest.lock */, CABDB0580E21EEBE1C06CB8E /* Sources */, DD60C0DD6531B3CCE27D430B /* Resources */, EBE25D5DF2CC2AF1AACF74DF /* Embed Frameworks */, 5345EBC8A03A18A6BD0A24AE /* Frameworks */, - 04AABED92441A4995954C764 /* [CP] Embed Pods Frameworks */, + EEF2094908F16FC5A4E277DB /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -1723,6 +1669,8 @@ D1E04C06DFE6AEAC5A2984A2 /* Project object */ = { isa = PBXProject; attributes = { + TargetAttributes = { + }; }; buildConfigurationList = 2390758B5318CC43723A8419 /* Build configuration list for PBXProject "Cuckoo" */; compatibilityVersion = "Xcode 13.0"; @@ -1841,24 +1789,29 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 04AABED92441A4995954C764 /* [CP] Embed Pods Frameworks */ = { + 137F2EC1D02A60AF870C5C75 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B80C9C22C65245E38F14C88 /* [CP] Check Pods Manifest.lock */ = { + 2364A83BDC37FACBE3B7F0EE /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1873,7 +1826,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Cuckoo_OCMock-tvOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -1899,7 +1852,7 @@ shellPath = /bin/sh; shellScript = "if [ \"$GENERATE_TEST_MOCKS\" = \"NO\" ] ; then exit; fi\n\n# Make sure the generator is up-to-date.\necho 'Building generator.'\n\"$PROJECT_DIR\"/build_generator\n\necho 'Generating mocks.'\n\"$PROJECT_DIR\"/Generator/bin/cuckoonator \\\n\t--verbose"; }; - 4352EA547AAE24CD18831FD0 /* [CP] Check Pods Manifest.lock */ = { + 47AD3A7A36790051354C1ADA /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1921,23 +1874,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 495B53AE23D3D900C066641F /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; 4D36DA407A6B4E6EFDC6DA5F /* Generate mocks */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -1955,9 +1891,9 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ \"$GENERATE_TEST_MOCKS\" = \"NO\" ] ; then exit; fi\n\n# Make sure the generator is up-to-date.\necho 'Building generator.'\n\"$PROJECT_DIR\"/build_generator\n\necho 'Generating mocks.'\n\"$PROJECT_DIR\"/Generator/bin/cuckoonator \\\n\t--verbose\n"; + shellScript = "if [ \"$GENERATE_TEST_MOCKS\" = \"NO\" ] ; then exit; fi\n\n# Make sure the generator is up-to-date.\necho 'Building generator.'\n\"$PROJECT_DIR\"/build_generator\n\necho 'Generating mocks.'\n\"$PROJECT_DIR\"/Generator/bin/cuckoonator \\\n\t--verbose"; }; - 50E5C13687AF5C02BA1C9B82 /* [CP] Check Pods Manifest.lock */ = { + 83216F4CDA247C02DFC48541 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1979,7 +1915,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 60E8892108626C7FE3B9B43C /* [CP] Check Pods Manifest.lock */ = { + 8805B11D1FE52E308C0AE7EB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1994,7 +1930,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Cuckoo_OCMock-tvOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -2020,7 +1956,24 @@ shellPath = /bin/sh; shellScript = "if [ \"$GENERATE_TEST_MOCKS\" = \"NO\" ] ; then exit; fi\n\n# Make sure the generator is up-to-date.\necho 'Building generator.'\n\"$PROJECT_DIR\"/build_generator\n\necho 'Generating mocks.'\n\"$PROJECT_DIR\"/Generator/bin/cuckoonator \\\n\t--verbose"; }; - 97020C27F73397A2761B5840 /* [CP] Embed Pods Frameworks */ = { + B57E07C567F0291CD9660698 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + E827641ABE94DB31D2221362 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2037,29 +1990,24 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests/Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 9DB9508516886341E462CB10 /* [CP] Check Pods Manifest.lock */ = { + EEF2094908F16FC5A4E277DB /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests/Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - AF2659D207E0322E0C512369 /* [CP] Check Pods Manifest.lock */ = { + F5ED5242B87D8AAC87726C40 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2095,17 +2043,6 @@ 928FE5CCF9DEBC62FACF4C46 /* DefaultValueRegistryTest.swift in Sources */, 7C739BDCFE5EEC051A505646 /* ExcludedStubTest.swift in Sources */, C40DE5DDD7A6B6566E11EC1E /* FailTest.swift in Sources */, - DBA74258BB7137A8C15E6B98 /* GeneratedMocks+Alamofire.swift in Sources */, - 22958B475647678EAA48AE13 /* GeneratedMocks+MonitorControl.swift in Sources */, - C6D6B51B4A04043D0F733084 /* GeneratedMocks+Nextcloud.swift in Sources */, - AEDF6BB054A68FDCA9AD5EE9 /* GeneratedMocks+ShadowsocksX-NG.swift in Sources */, - 8F85DF2677BB24AB9ED4234E /* GeneratedMocks+Signal-iOS.swift in Sources */, - 9BECC0FD845B88032E4373AD /* GeneratedMocks+SnapKit.swift in Sources */, - 17C9214EE57E5E8BFB88BB14 /* GeneratedMocks+Whisky.swift in Sources */, - 30D5582B9A872566BB98AB65 /* GeneratedMocks+iina.swift in Sources */, - 0BCA9EE17FB7BCD968956F36 /* GeneratedMocks+openhaystack.swift in Sources */, - B37E14ED208426385DC4F68C /* GeneratedMocks+swift-nio.swift in Sources */, - 716AD4AA34E78D214F282951 /* GeneratedMocks+vapor.swift in Sources */, 1FDE17A0D0967F932C618242 /* GeneratedMocks.swift in Sources */, 78D27D2AD38E87B228AF0556 /* GenericClassTest.swift in Sources */, 653C6B1B0884C6D58E624D2E /* GenericMethodClassTest.swift in Sources */, @@ -2300,17 +2237,6 @@ F22196061D37E66590633818 /* DefaultValueRegistryTest.swift in Sources */, 114CF61041FB579920C5B7E0 /* ExcludedStubTest.swift in Sources */, 95D2EF56DE4359E935DA8881 /* FailTest.swift in Sources */, - 6854D2E68449D72B3570FB30 /* GeneratedMocks+Alamofire.swift in Sources */, - D894A6F842126AEF0718F93D /* GeneratedMocks+MonitorControl.swift in Sources */, - 9FE9DE4FE0734CBFFA9C7525 /* GeneratedMocks+Nextcloud.swift in Sources */, - 1627AE94F512A578182187F0 /* GeneratedMocks+ShadowsocksX-NG.swift in Sources */, - D922EC74B24031B21C176524 /* GeneratedMocks+Signal-iOS.swift in Sources */, - 904FF056FA67829ED0D05087 /* GeneratedMocks+SnapKit.swift in Sources */, - F34BE0A86D0AE18B45498FD7 /* GeneratedMocks+Whisky.swift in Sources */, - 8E7E1D98919DDBB5BC9D1A0E /* GeneratedMocks+iina.swift in Sources */, - E38DF1A6DB5DCFD78552E4D9 /* GeneratedMocks+openhaystack.swift in Sources */, - 2E90CA12A30765DB682F25A7 /* GeneratedMocks+swift-nio.swift in Sources */, - 1E064A2E97BA2C21FF42E8A7 /* GeneratedMocks+vapor.swift in Sources */, E4E21C543EFB08A5D371D051 /* GeneratedMocks.swift in Sources */, B89DC8BEF25D0A07FC7AB353 /* GenericClassTest.swift in Sources */, 6185ED8EF7CDC1EB4A859B6B /* GenericMethodClassTest.swift in Sources */, @@ -2491,17 +2417,6 @@ 2E54AB548933FF3D2F7E1384 /* DefaultValueRegistryTest.swift in Sources */, 2728634862DD41A1F558CE7F /* ExcludedStubTest.swift in Sources */, 64725C719F048F677075C20E /* FailTest.swift in Sources */, - 1176DEB0ED0DB00859C919E3 /* GeneratedMocks+Alamofire.swift in Sources */, - 4DB1556F5CE858A251A5C408 /* GeneratedMocks+MonitorControl.swift in Sources */, - 3CAE6E18E08743194BC9F854 /* GeneratedMocks+Nextcloud.swift in Sources */, - 0F63418022500DA165274B49 /* GeneratedMocks+ShadowsocksX-NG.swift in Sources */, - DF9F9FD087FA73FBE23ED3CE /* GeneratedMocks+Signal-iOS.swift in Sources */, - 668CE0BB3093480EABC67440 /* GeneratedMocks+SnapKit.swift in Sources */, - B6455716FA73416FDF86B630 /* GeneratedMocks+Whisky.swift in Sources */, - 41D73C3471F57C10F1E0D86C /* GeneratedMocks+iina.swift in Sources */, - 8362BBA10E5A2B4E098F22C9 /* GeneratedMocks+openhaystack.swift in Sources */, - 0F2C99FD62A9690336CC05D7 /* GeneratedMocks+swift-nio.swift in Sources */, - 29E44183751F6EA5D9D9A121 /* GeneratedMocks+vapor.swift in Sources */, 2B84F5F74D5B1FFA3EEF28FA /* GeneratedMocks.swift in Sources */, 4570B0F63086A0AF7C682CE9 /* GenericClassTest.swift in Sources */, CBB7017EE143A38098AD7287 /* GenericMethodClassTest.swift in Sources */, @@ -2731,7 +2646,7 @@ /* Begin XCBuildConfiguration section */ 09A17ABB9CE8D5E803DBC7E5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D8D1A9C069AD1D4EDCC67319 /* Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.release.xcconfig */; + baseConfigurationReference = 1BCC023139207C9491BBEA67 /* Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.release.xcconfig */; buildSettings = { INFOPLIST_FILE = "Derived/InfoPlists/Cuckoo_OCMock-tvOSTests-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -2752,7 +2667,7 @@ }; 0F8DD70D0BDBF0F32D3A5D2A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 581CA228CD17DC357B49FD82 /* Pods-Cuckoo_OCMock-macOS.debug.xcconfig */; + baseConfigurationReference = D2C763498BA07477F0BA062A /* Pods-Cuckoo_OCMock-macOS.debug.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; COMBINE_HIDPI_IMAGES = YES; @@ -2861,7 +2776,7 @@ }; 6788BA84E4C3F2DF4D49FDD1 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DD602003CA8435C13BED8902 /* Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.release.xcconfig */; + baseConfigurationReference = B6C1C26829A9192BB06BEFEC /* Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.release.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; INFOPLIST_FILE = "Derived/InfoPlists/Cuckoo_OCMock-iOSTests-Info.plist"; @@ -2884,7 +2799,7 @@ }; 68C3608166DB6A5DCC142D0A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6D5748FF5110E65579058F10 /* Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.debug.xcconfig */; + baseConfigurationReference = 19EE4D0969E0701B33C395DD /* Pods-Cuckoo_OCMock-tvOS-Cuckoo_OCMock-tvOSTests.debug.xcconfig */; buildSettings = { INFOPLIST_FILE = "Derived/InfoPlists/Cuckoo_OCMock-tvOSTests-Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -2938,7 +2853,7 @@ }; 73511D4869AFB48ADC79B8C1 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E8119F7A29EE4BDFD5D68A22 /* Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.debug.xcconfig */; + baseConfigurationReference = E98E8A9522A505CD52AA7A1E /* Pods-Cuckoo_OCMock-iOS-Cuckoo_OCMock-iOSTests.debug.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; INFOPLIST_FILE = "Derived/InfoPlists/Cuckoo_OCMock-iOSTests-Info.plist"; @@ -2985,7 +2900,7 @@ SWIFT_VERSION = 5.0; SYSTEM_FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 11.0; + TVOS_DEPLOYMENT_TARGET = 13.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -2993,7 +2908,7 @@ }; 88C896DF3C7EA2C24B2A7B9E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D258A7CA85EC209CD723E98E /* Pods-Cuckoo_OCMock-iOS.debug.xcconfig */; + baseConfigurationReference = 912D4E55035388BB0132C56B /* Pods-Cuckoo_OCMock-iOS.debug.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; CURRENT_PROJECT_VERSION = 1; @@ -3003,7 +2918,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "Derived/InfoPlists/Cuckoo_OCMock-iOS-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -3028,7 +2943,7 @@ }; 8FC167D6E355658B5903183F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1282BAB19F7122CB21F6EDCA /* Pods-Cuckoo_OCMock-macOS.release.xcconfig */; + baseConfigurationReference = F7759FCD1C2B73ECEAAEBDD8 /* Pods-Cuckoo_OCMock-macOS.release.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; COMBINE_HIDPI_IMAGES = YES; @@ -3071,7 +2986,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "Derived/InfoPlists/Cuckoo-iOS-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -3104,7 +3019,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "Derived/InfoPlists/Cuckoo-iOS-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -3172,7 +3087,7 @@ SWIFT_VERSION = 5.0; SYSTEM_FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 11.0; + TVOS_DEPLOYMENT_TARGET = 13.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -3294,7 +3209,7 @@ }; C7DB288DC16F2BA0020CA917 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A8F9114EFD61D69713AFC056 /* Pods-Cuckoo_OCMock-iOS.release.xcconfig */; + baseConfigurationReference = 3A727AD522B07898CC92A3D9 /* Pods-Cuckoo_OCMock-iOS.release.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; CURRENT_PROJECT_VERSION = 1; @@ -3304,7 +3219,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "Derived/InfoPlists/Cuckoo_OCMock-iOS-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -3351,7 +3266,7 @@ }; D9C80FCB45BF96859CF72662 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5ACE14220E6E1553920E06A8 /* Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.debug.xcconfig */; + baseConfigurationReference = DE395833B378D0207B1FBF1D /* Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.debug.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "-"; INFOPLIST_FILE = "Derived/InfoPlists/Cuckoo_OCMock-macOSTests-Info.plist"; @@ -3393,7 +3308,7 @@ }; DC200B677208FA5563B50AD7 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8FE27EC365775AC73043E847 /* Pods-Cuckoo_OCMock-tvOS.debug.xcconfig */; + baseConfigurationReference = 902D531B3156FA7C4049BB09 /* Pods-Cuckoo_OCMock-tvOS.debug.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; CURRENT_PROJECT_VERSION = 1; @@ -3419,7 +3334,7 @@ SWIFT_VERSION = 5.0; SYSTEM_FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 11.0; + TVOS_DEPLOYMENT_TARGET = 13.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -3449,7 +3364,7 @@ }; F46AC1AF8E41D78201C5BDE9 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9C262195FADBEA945933FE98 /* Pods-Cuckoo_OCMock-tvOS.release.xcconfig */; + baseConfigurationReference = A2B553F72D9888FCC72F1244 /* Pods-Cuckoo_OCMock-tvOS.release.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; CURRENT_PROJECT_VERSION = 1; @@ -3474,7 +3389,7 @@ SWIFT_VERSION = 5.0; SYSTEM_FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 11.0; + TVOS_DEPLOYMENT_TARGET = 13.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -3482,7 +3397,7 @@ }; F4E1D3C8F565E2D98246CF67 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 88EEE9C66E94996612ACBB80 /* Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.release.xcconfig */; + baseConfigurationReference = A5034DBBB6F734240EE7CE35 /* Pods-Cuckoo_OCMock-macOS-Cuckoo_OCMock-macOSTests.release.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "-"; INFOPLIST_FILE = "Derived/InfoPlists/Cuckoo_OCMock-macOSTests-Info.plist"; diff --git a/Gemfile.lock b/Gemfile.lock index e60b637c..0e50a30f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -277,6 +277,7 @@ GEM rouge (~> 2.0.7) xcpretty-travis-formatter (1.0.1) xcpretty (~> 0.2, >= 0.0.7) + zeitwerk (2.6.12) PLATFORMS arm64-darwin-21 diff --git a/Generator/Derived/InfoPlists/CuckooGenerator-Info.plist b/Generator/Derived/InfoPlists/Cuckoonator-Info.plist similarity index 100% rename from Generator/Derived/InfoPlists/CuckooGenerator-Info.plist rename to Generator/Derived/InfoPlists/Cuckoonator-Info.plist diff --git a/Generator/Derived/InfoPlists/GeneratorTests-Info.plist b/Generator/Derived/InfoPlists/CuckoonatorTests-Info.plist similarity index 100% rename from Generator/Derived/InfoPlists/GeneratorTests-Info.plist rename to Generator/Derived/InfoPlists/CuckoonatorTests-Info.plist diff --git a/Generator/Generator.xcodeproj/project.pbxproj b/Generator/Generator.xcodeproj/project.pbxproj index 0bcbae47..0d3ca8c4 100644 --- a/Generator/Generator.xcodeproj/project.pbxproj +++ b/Generator/Generator.xcodeproj/project.pbxproj @@ -7,59 +7,149 @@ objects = { /* Begin PBXBuildFile section */ - 0AFEE40B12A77BA6758B9AD7 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 138FED4F45A753EA83E2E51F /* main.swift */; }; - 117BA082F941E455B72346A7 /* Kinds.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32A46C7AA3384C6A9E75D42D /* Kinds.swift */; }; - 147EE48DFC0BC20437D61414 /* HasAccessibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16348F11B12CAE0A672C8AF5 /* HasAccessibility.swift */; }; - 1992D9DD0BC5300C00902CBF /* StructDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33988C480FC9AC5C149B6795 /* StructDeclaration.swift */; }; - 1A0B3B50ADFC6421F70172A5 /* Method.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBEE864D8FE696662473FFC4 /* Method.swift */; }; - 29B68879A35DD7CD8A7554E7 /* VerificationProxyTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15AE4C38E2CEE1A20049B0 /* VerificationProxyTemplate.swift */; }; - 314D56147134EC538F6BCCAE /* InheritanceDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6839A15933B288F970CCC18D /* InheritanceDeclaration.swift */; }; - 32CA3E58F2AFE9409DB34B35 /* TypeGuesser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B0F5AAC69D432B484BC673D /* TypeGuesser.swift */; }; - 37A8FF6370E63A8439B470FD /* Tokenizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 703B0AD842DE7C5D3409E88B /* Tokenizer.swift */; }; - 41A3AC00924CC5E348068049 /* ThrowType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E777F69CCB7816C662D980BE /* ThrowType.swift */; }; - 46BD77F998C1A479F7EF9E74 /* Attribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D890C2C4167D843AE645F8F /* Attribute.swift */; }; - 48BB8A9F272BE7AAC8B2B822 /* CuckooGeneratorError.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2FB02B86FEBFBA2E37E24FF /* CuckooGeneratorError.swift */; }; - 48F72C7998C49EFE46705BC9 /* ParentToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2312D3AE88464836A697F4DB /* ParentToken.swift */; }; - 4BD49E754220E3DC7DFD5F05 /* Glob.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6996F0FA9C194D7608327070 /* Glob.swift */; }; - 4C28C64F89D995A3967B1817 /* WrappableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68DED3B51AB1ABBE0EFE7039 /* WrappableType.swift */; }; - 586FB721C13538278A1D53BE /* ClassDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B4CB039176236C477B99F9D /* ClassDeclaration.swift */; }; - 5C43E9D617C9F2DE50A76EC4 /* Generator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57696314AB2741C9E50BFD63 /* Generator.swift */; }; - 5E744FA008D3C5F312D6E59C /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96A1CCD9236073A3F294CC9A /* Utils.swift */; }; - 6DAFB2FBEF812F44BF6CB0AF /* Token.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB558F3DABBD16D9E0131FDE /* Token.swift */; }; - 6FFF2BA4DC511C7123C8B04E /* MockTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D96F4690C6C8898367ED91BC /* MockTemplate.swift */; }; - 77577C695E950D1142E96B6E /* StderrPrint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 325DB0F8F3ED496C016BD4AA /* StderrPrint.swift */; }; - 8250D1769F7A4B603CA1A592 /* Stencil in Frameworks */ = {isa = PBXBuildFile; productRef = 6036113D508ADE8D318BAD18 /* Stencil */; }; - 8275A66D22A50B5F1C74EEF9 /* GenerateMocksCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1981F84883CB3321BF8B712 /* GenerateMocksCommand.swift */; }; - 8825D4F56DD7D65B0533AB03 /* Initializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D4EA3866C6E0865DF2FFB49 /* Initializer.swift */; }; - 8E1F8DF3D985D506E2B659EC /* ReturnSignature.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD7203FC4E305839536DB176 /* ReturnSignature.swift */; }; - 93A8ECEF74DB312B2DA4CBCB /* Import.swift in Sources */ = {isa = PBXBuildFile; fileRef = A336E482500006B3543744D3 /* Import.swift */; }; - 9B8838BB8FE05661B9210C3F /* MethodParameter.swift in Sources */ = {isa = PBXBuildFile; fileRef = E502D5E066B73074256039AB /* MethodParameter.swift */; }; - A57C26C3AD1FFD7C0561643F /* GenericParameter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971C268BB07A4943DCAA3A84 /* GenericParameter.swift */; }; - A92424CE80311E377ED8EA52 /* NopImplStubTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EDE0ACEA3B8D62F916B0CBF /* NopImplStubTemplate.swift */; }; - AC0A0F733572D77572E00634 /* ClassMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 433E7849C8D247BB09016EA7 /* ClassMethod.swift */; }; - AE99D882F23E5B8AEE49183E /* Key.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DAAA754B64405302EAD5EC1 /* Key.swift */; }; - AEB54374586A4E3A840C4B26 /* ProtocolMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C6C19B0CA66FAD233A09E0F /* ProtocolMethod.swift */; }; - AF01864E097FF15BA97CC603 /* TypeErasureTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7E190BA225F53914F522B2 /* TypeErasureTemplate.swift */; }; - B4276658B7E416B844CD5CA9 /* ProtocolDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFE9205FACEA1CE987DAA639 /* ProtocolDeclaration.swift */; }; - BAE020844292F9957F6AD835 /* Templates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F613601DE1D73E55A5603DD /* Templates.swift */; }; - BBD88C83735F561C58C2DD0A /* Commandant in Frameworks */ = {isa = PBXBuildFile; productRef = 2B54C91F3F591857330E625B /* Commandant */; }; - BCBA5E98BEF9D3CC5D8816CC /* ExtensionDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6014DF8177D3BCF41304B5A /* ExtensionDeclaration.swift */; }; - BE92F2AB179EA6DB33791835 /* ChildToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83BFC669D99B31757D5CDF8C /* ChildToken.swift */; }; - C1919E37AAC1443E1DCE0385 /* ContainerToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2337DF041B8213CEAA16E70 /* ContainerToken.swift */; }; - C7D95E3E63F8163CD1A029DB /* InstanceVariable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61B785B89D04C1C865E8912C /* InstanceVariable.swift */; }; - CB29FA92BE502D99FB60ECEF /* SourceKittenFramework in Frameworks */ = {isa = PBXBuildFile; productRef = 66495C97423D856653EDFD7D /* SourceKittenFramework */; }; - CC56EA8BFFAF514AA6D5F830 /* HasAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C20B2D1C4D8D1BBD0708832 /* HasAttributes.swift */; }; - CEDBC6AA42B2179FFD2FDA05 /* FileKit in Frameworks */ = {isa = PBXBuildFile; productRef = 0CBF790FA7FFD04DE5EF9DE4 /* FileKit */; }; - D145A183C527E610526AB502 /* Accessibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6B0E99C7459F16568233313 /* Accessibility.swift */; }; - D3E0D310775B070970C290CF /* Reference.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7904A5E96CA96532A11038CE /* Reference.swift */; }; - E6D4CB4F5EB5FC09F43541EE /* FileRepresentation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A69FD5F1005C714B8EA3018 /* FileRepresentation.swift */; }; - E7F02E01FCFD74020B479133 /* FileHeaderHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6B6836F39DD7D669521F048 /* FileHeaderHandler.swift */; }; - ED3E351ED7EE4E4FB998F4EE /* StubbingProxyTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A0D195BAC41641CF3375653 /* StubbingProxyTemplate.swift */; }; - F67FB69D10669B405A507952 /* VersionCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7915C1B9229771FCFA76BB5B /* VersionCommand.swift */; }; + 0188B594F3AE38B9BA5BADE2 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B5623B43A07101C33A57999 /* Utils.swift */; }; + 029AE21A6F2451C44AD5191C /* ChildToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E01D8487E10CBAB2F8BEE25 /* ChildToken.swift */; }; + 052790A76E0F6ABA96C9A3E0 /* String+convenience.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61D4E2D59CBA725E92818DF5 /* String+convenience.swift */; }; + 0590D5E1059A7678C601109F /* NopImplStubTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C20D1025E21DF0396A5DF8E /* NopImplStubTemplate.swift */; }; + 06E7ED0443C87639FFAC9011 /* HasInheritance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B412F01A6E876AC66967055 /* HasInheritance.swift */; }; + 0A149993A93D5365CD2D7727 /* Crawler.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2019FDDCB5B2E750F7CEC8E /* Crawler.swift */; }; + 141905F2FC677156003FA504 /* ThrowType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D26EF1D3108D49FF345DBC7 /* ThrowType.swift */; }; + 150B7AB135AA60B0C15A6517 /* ComplexType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D950A7A41DA6F8B7AAC81E7 /* ComplexType.swift */; }; + 17A2954EF62AC448248369BC /* Method.swift in Sources */ = {isa = PBXBuildFile; fileRef = 200EDE7B95DE3AE27C29CC42 /* Method.swift */; }; + 1A8C1847ADF9D6BD497009CE /* String+convenience.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61D4E2D59CBA725E92818DF5 /* String+convenience.swift */; }; + 1B310882114692703DD9C199 /* TypeGuesser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52CE2A36ADBCB7B533AB0FDB /* TypeGuesser.swift */; }; + 1E52E97EB5004CFAB912F34E /* VerificationProxyTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FDFA6B78881951ACDF56D44 /* VerificationProxyTemplate.swift */; }; + 2373BA514791F420D6BDFBBE /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = A696F092D2BB5A36E9DEFBEB /* Version.swift */; }; + 2938335E8B86B5EFBC8DB5B3 /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = A696F092D2BB5A36E9DEFBEB /* Version.swift */; }; + 2AE7D1FED2533686F9BCA0AE /* Inheritable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 740ACFD3C6154454554E9E24 /* Inheritable.swift */; }; + 2AFC922868834229C138B7C7 /* SyntaxToken+isPresent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B6C69985EF421F11E82E239 /* SyntaxToken+isPresent.swift */; }; + 2C97DFA9D3E23CCA7F52A69F /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87F6146081A138F1D6DD9D22 /* Logger.swift */; }; + 35594693AA4CAF3AA2D03C06 /* ContainerTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8512AC9AF1080BAC375B8531 /* ContainerTemplate.swift */; }; + 363FDF45604BA557A8656965 /* ModifierListSyntax+common.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF4E1D009F8E0D6988EA56E9 /* ModifierListSyntax+common.swift */; }; + 365A0CD5CA0829527545FA46 /* GenerateCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBB34C26A626E82EECF23380 /* GenerateCommand.swift */; }; + 377E989A267F25F31F1B464E /* NopImplStubTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C20D1025E21DF0396A5DF8E /* NopImplStubTemplate.swift */; }; + 3A3BEDE525ED733D2DC2C8CB /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87F6146081A138F1D6DD9D22 /* Logger.swift */; }; + 3F6B174624FD6FAFCB8757B2 /* HasAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE812E30DAE3B6E5EBCFA786 /* HasAttributes.swift */; }; + 436B1158A6ED217E8D5B05A2 /* Method.swift in Sources */ = {isa = PBXBuildFile; fileRef = 200EDE7B95DE3AE27C29CC42 /* Method.swift */; }; + 440C1F66A6749F51752B99FB /* MethodParameter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B0CEC0E6BC2F8FDDCB86A7C /* MethodParameter.swift */; }; + 44A72AF2F6D6D2E1D371C50F /* ArgumentParser in Frameworks */ = {isa = PBXBuildFile; productRef = 82A76F6C4BC47C860A90EFA7 /* ArgumentParser */; }; + 46D9663497017BFABAA09B66 /* SwiftSyntax in Frameworks */ = {isa = PBXBuildFile; productRef = 10B6A078051BAD502FBAC752 /* SwiftSyntax */; }; + 48205DE8188B258737270530 /* ModifierListSyntax+common.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF4E1D009F8E0D6988EA56E9 /* ModifierListSyntax+common.swift */; }; + 4871C1D4211262913FE7E23A /* TOMLKit in Frameworks */ = {isa = PBXBuildFile; productRef = CF01AE9B482B793213C15803 /* TOMLKit */; }; + 4A04C8DABB34967D6D2EDB49 /* OrderedSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F1F3CD491EFD856B4C96AC7 /* OrderedSet.swift */; }; + 4A2BFBD3DA28E395A3D05946 /* Attribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B8A800560013CEEAC82BDD3 /* Attribute.swift */; }; + 4EAC0C297D3C3B19EB3809D7 /* Inheritable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 740ACFD3C6154454554E9E24 /* Inheritable.swift */; }; + 506FEFC319A37FB725718DFE /* FileKit+convenience.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3A2C9C1C9FA19A2D8F5B32D /* FileKit+convenience.swift */; }; + 51EC7E8DFC26826B44E514C9 /* XcodeProj in Frameworks */ = {isa = PBXBuildFile; productRef = 7E00179A8BA49B9C8D4230FB /* XcodeProj */; }; + 55DC323A3F6F812615DAA8A5 /* Deinitializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4C67E266FAB582D3E30F6DF /* Deinitializer.swift */; }; + 56798F6712767CD2176C6877 /* NamespaceDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE8DA2A5196EE58EC50CA4C6 /* NamespaceDeclaration.swift */; }; + 579A5DF5F9933D773D792DD5 /* ClassDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F5A4FB3A15D4BAD7313A22F /* ClassDeclaration.swift */; }; + 5952ACA075CB38A94D93705F /* CuckooGeneratorError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75D85C844D69A2D6235B024F /* CuckooGeneratorError.swift */; }; + 5A27FB878DCF33CFC25C7D58 /* Stencil in Frameworks */ = {isa = PBXBuildFile; productRef = 874C86044871C521F0D50492 /* Stencil */; }; + 5C038CE64446FCB603FA7421 /* WrappableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D80E98FC0CAE82110714BF4 /* WrappableType.swift */; }; + 5CA71A4AF5B2FEDD41396FCA /* MockTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83C7A2FE3DED070B31815AB8 /* MockTemplate.swift */; }; + 5ECC262B02106A314D1EC39F /* MethodSignature.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0236EC583E3F0BC60A86A607 /* MethodSignature.swift */; }; + 63AFCE3DB111DFBDCD713FDC /* Rainbow in Frameworks */ = {isa = PBXBuildFile; productRef = 45417D207C5B670A21479EA0 /* Rainbow */; }; + 656092FCFDAFB7854694D39D /* Reference.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2038E75371E9914C0057A429 /* Reference.swift */; }; + 658359C4AA4B20134FC10EF8 /* SyntaxToken+isPresent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B6C69985EF421F11E82E239 /* SyntaxToken+isPresent.swift */; }; + 66CE4EBCFCD175C2B0CC074A /* Import.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F276DADE3205FE3A3803770 /* Import.swift */; }; + 66D182220FD1D33F11E28562 /* FileKit in Frameworks */ = {isa = PBXBuildFile; productRef = AD2D7CEA740A2A8B936746A3 /* FileKit */; }; + 684B648F884AA3B5A462CD59 /* Serializable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C85B33943FFC685132859E72 /* Serializable.swift */; }; + 698C1052721737ADF27ABB0A /* Import.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F276DADE3205FE3A3803770 /* Import.swift */; }; + 6B9EA70876BE120C8290ED7E /* MethodSignature.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0236EC583E3F0BC60A86A607 /* MethodSignature.swift */; }; + 6FDA81177819E3200FCA41F9 /* Accessibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20DEC997DE9F9A496DC55AF3 /* Accessibility.swift */; }; + 6FFF3BC006C1006E4415AFDD /* FileRepresentation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50E0C10D6BFAE96A0A700D06 /* FileRepresentation.swift */; }; + 7186102BF18CBF82AFC97944 /* Variable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29D7296FB5088F0711596882 /* Variable.swift */; }; + 751578C4C568784899DC919A /* ContainerToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6A041658EC750F648A2D193 /* ContainerToken.swift */; }; + 757BEC6F1A54C15EDDA9F87D /* CuckooGeneratorError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75D85C844D69A2D6235B024F /* CuckooGeneratorError.swift */; }; + 7BA0A80747083052F5C13CFA /* Accessibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20DEC997DE9F9A496DC55AF3 /* Accessibility.swift */; }; + 7CA581756A0565FEABCFB069 /* FileKit+convenience.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3A2C9C1C9FA19A2D8F5B32D /* FileKit+convenience.swift */; }; + 7CD4072067DCEE2A688103E8 /* Attribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B8A800560013CEEAC82BDD3 /* Attribute.swift */; }; + 7E252699C077ACF9FD291F1A /* Module.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E5104F422D2332A72E71E80 /* Module.swift */; }; + 7EA8FCCFD03F056EC363708E /* SwiftFormat in Frameworks */ = {isa = PBXBuildFile; productRef = 2690FAF509B9294F9963CFC6 /* SwiftFormat */; }; + 846FF44141EAE708431788F6 /* FileHeaderHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0CA1F2E31C4D1F4D7E7AFCF /* FileHeaderHandler.swift */; }; + 8540D535F2845A4E702C641C /* GenericParameter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63889180D5687BDF03C5808D /* GenericParameter.swift */; }; + 874D43E3025261D20346F043 /* Templates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64FF786D71666C925DDDD02F /* Templates.swift */; }; + 8836B9D60D0B9B0CD695092E /* FileRepresentation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50E0C10D6BFAE96A0A700D06 /* FileRepresentation.swift */; }; + 88DC61F066E5D5A5C0BB3317 /* Initializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC807C1DDEFBABC6EFCF3007 /* Initializer.swift */; }; + 89D8E6E0BB802AAC86092BD6 /* ContainerTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8512AC9AF1080BAC375B8531 /* ContainerTemplate.swift */; }; + 8A928827A40634B369221352 /* FileKit in Frameworks */ = {isa = PBXBuildFile; productRef = AC6685255D5370BF08A7BA31 /* FileKit */; }; + 8AD8FAFFCDFE20A53E2A6FD8 /* Async+convenience.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCAECEA6462A2F4AE3EBC92C /* Async+convenience.swift */; }; + 8B73D3D43ACA1CEF23CC6101 /* HasName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C5C09640B2E1C7C8FB4CD7 /* HasName.swift */; }; + 8D1AA9575B15BDBF9044515D /* GenerateCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBB34C26A626E82EECF23380 /* GenerateCommand.swift */; }; + 90D41AE72F82B430759E34F8 /* VerificationProxyTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FDFA6B78881951ACDF56D44 /* VerificationProxyTemplate.swift */; }; + 90FBE14B957259BF1CE1644A /* ChildToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E01D8487E10CBAB2F8BEE25 /* ChildToken.swift */; }; + 91F3C9952FD50B00004D5C56 /* HasGenerics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D4E27DFBE13069E59BF33FB /* HasGenerics.swift */; }; + 92BBACC8AC2B5D8B99667EEA /* ClassDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F5A4FB3A15D4BAD7313A22F /* ClassDeclaration.swift */; }; + 93BFD80D6B554649BC03A321 /* Initializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC807C1DDEFBABC6EFCF3007 /* Initializer.swift */; }; + 95A6440D0CAFC15C1B956397 /* TypeErasureTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC8BC8DC276C4665DF6E824 /* TypeErasureTemplate.swift */; }; + 95E7D0B5A6F8DC6D520B6763 /* Stencil in Frameworks */ = {isa = PBXBuildFile; productRef = FA3FEB96551B01B3B12795B5 /* Stencil */; }; + 963197C8A76D676236D46AA1 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B5623B43A07101C33A57999 /* Utils.swift */; }; + 972AEC7F5453E8364CCE396E /* Glob.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFC43F140EF1AFFFAEF160CF /* Glob.swift */; }; + 98AFF44E7CD008C326B76F4B /* ProtocolDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = B191BAB90046717E743EC322 /* ProtocolDeclaration.swift */; }; + 9B2F0AE7C751D3A72BEF7663 /* StubbingProxyTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E923EEB246D54BC00305580 /* StubbingProxyTemplate.swift */; }; + 9D189C307AE1AC7DE2C195F3 /* ThrowType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D26EF1D3108D49FF345DBC7 /* ThrowType.swift */; }; + 9D8817E4FA17640C46159854 /* HasInheritance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B412F01A6E876AC66967055 /* HasInheritance.swift */; }; + 9DCE5272A0525C571FB23E0F /* SwiftSyntax+convenience.swift in Sources */ = {isa = PBXBuildFile; fileRef = 898566C0937C1E5B25F9D20D /* SwiftSyntax+convenience.swift */; }; + 9DE5F7B984049D095AA4074C /* HasMembers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BE01B4BF58360B997B65AAD /* HasMembers.swift */; }; + 9EDFF9FF001092ADBB498321 /* Token.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FADC74038E0C8E7D0BBA09F /* Token.swift */; }; + A287B2FC91838CF47C1A402E /* HasAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE812E30DAE3B6E5EBCFA786 /* HasAttributes.swift */; }; + A726E94D443E854CF233AB3B /* HasMembers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BE01B4BF58360B997B65AAD /* HasMembers.swift */; }; + A7D8BECC5EFE87BCEA01B0ED /* SwiftFormat in Frameworks */ = {isa = PBXBuildFile; productRef = 40FBF1EF4588DEF0C34CC5AA /* SwiftFormat */; }; + A81CBA6691D31B0CCCFC0B03 /* MockTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83C7A2FE3DED070B31815AB8 /* MockTemplate.swift */; }; + A82BA9AE98522CF4D219B107 /* Reference.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2038E75371E9914C0057A429 /* Reference.swift */; }; + A863F7D5DA2F1E539178451B /* MethodParameter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B0CEC0E6BC2F8FDDCB86A7C /* MethodParameter.swift */; }; + AA90F603A7138B9849288D0D /* AsyncType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63ECADC8A9E870A97EB490B5 /* AsyncType.swift */; }; + AC2389A81EFFB61A2C217299 /* Rainbow in Frameworks */ = {isa = PBXBuildFile; productRef = 4A40ECC25B2971D5517C901E /* Rainbow */; }; + B6561879DDC7F7713C7952BD /* GeneratorHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32D7CD1899844A58C727A50D /* GeneratorHelper.swift */; }; + B690F1EAE9253E567336BD3B /* Token.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FADC74038E0C8E7D0BBA09F /* Token.swift */; }; + BB07EA4E138FDBF528CC07CD /* HasAccessibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0D7AACF54E49FB33288B001 /* HasAccessibility.swift */; }; + BD95D074E86979BDBBAC53A1 /* Module.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E5104F422D2332A72E71E80 /* Module.swift */; }; + C4B82C54CDB43FB6DA808E2D /* ContainerToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6A041658EC750F648A2D193 /* ContainerToken.swift */; }; + C51F0249FFE7914B0C2F5979 /* XcodeProj in Frameworks */ = {isa = PBXBuildFile; productRef = D2BFBD8FD405A61AC715D4A9 /* XcodeProj */; }; + C55F92ED81B9431A914475D2 /* TypeErasureTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC8BC8DC276C4665DF6E824 /* TypeErasureTemplate.swift */; }; + C700DF34443A6E42C5FB72FC /* SwiftSyntax+convenience.swift in Sources */ = {isa = PBXBuildFile; fileRef = 898566C0937C1E5B25F9D20D /* SwiftSyntax+convenience.swift */; }; + CA3FB4772D2F62F20750E9AC /* Templates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64FF786D71666C925DDDD02F /* Templates.swift */; }; + CAF58D087934262F0521D057 /* Deinitializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4C67E266FAB582D3E30F6DF /* Deinitializer.swift */; }; + CB65B046EAB308A744FFF63F /* NamespaceDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE8DA2A5196EE58EC50CA4C6 /* NamespaceDeclaration.swift */; }; + CC766E6609048FAD7D7094E5 /* HasName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C5C09640B2E1C7C8FB4CD7 /* HasName.swift */; }; + D1CC846E8391FC71AED3ABD8 /* HasAccessibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0D7AACF54E49FB33288B001 /* HasAccessibility.swift */; }; + D6B779DA9049F4DEA4357B3A /* Variable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29D7296FB5088F0711596882 /* Variable.swift */; }; + DB3FE43AF21614D7910CEBC9 /* TOMLKit in Frameworks */ = {isa = PBXBuildFile; productRef = C443144D2084F752ABD40F7D /* TOMLKit */; }; + DCB9504CD17B5E8449ECC625 /* OrderedSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F1F3CD491EFD856B4C96AC7 /* OrderedSet.swift */; }; + E00B187D2F98F753236CA25F /* GenericParameter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63889180D5687BDF03C5808D /* GenericParameter.swift */; }; + E1FBDF789B8A90A193BB254F /* Crawler.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2019FDDCB5B2E750F7CEC8E /* Crawler.swift */; }; + E315E39EB41AA20E8A0BE77D /* TypeGuesser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52CE2A36ADBCB7B533AB0FDB /* TypeGuesser.swift */; }; + E4A72D21E0830271C848323A /* AsyncType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63ECADC8A9E870A97EB490B5 /* AsyncType.swift */; }; + E529E0E09DC7693A83E43B00 /* HasGenerics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D4E27DFBE13069E59BF33FB /* HasGenerics.swift */; }; + E5E27320B65D9E15B45B7086 /* GeneratorHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32D7CD1899844A58C727A50D /* GeneratorHelper.swift */; }; + E6C0036B6154EEDA485EB5A6 /* ArgumentParser in Frameworks */ = {isa = PBXBuildFile; productRef = 0461AA3DA9DB4A68910D1B97 /* ArgumentParser */; }; + EA09C9F075B96BD4EAACB470 /* Glob.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFC43F140EF1AFFFAEF160CF /* Glob.swift */; }; + EE65A86BC337117580C310AA /* FileHeaderHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0CA1F2E31C4D1F4D7E7AFCF /* FileHeaderHandler.swift */; }; + F78FC05D5530863EC96827BD /* Async+convenience.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCAECEA6462A2F4AE3EBC92C /* Async+convenience.swift */; }; + F791789C605792A20E8A1CF7 /* WrappableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D80E98FC0CAE82110714BF4 /* WrappableType.swift */; }; + F92208967234117E720437D4 /* ProtocolDeclaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = B191BAB90046717E743EC322 /* ProtocolDeclaration.swift */; }; + F9D4D3624CF450DAF961A852 /* ComplexType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D950A7A41DA6F8B7AAC81E7 /* ComplexType.swift */; }; + FAB2366C273E3BC994A8C856 /* Generator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17570DCB8ED56FAA7B60FFEE /* Generator.swift */; }; + FCB132A3412E852A169DD034 /* OrderedSetTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E931623865980B964DF83AC /* OrderedSetTest.swift */; }; + FCF3348DBE14EB308918B32E /* SwiftSyntax in Frameworks */ = {isa = PBXBuildFile; productRef = 62225DF9A023014F74823A4D /* SwiftSyntax */; }; + FE1CA1D2D68ECCD53D48698E /* StubbingProxyTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E923EEB246D54BC00305580 /* StubbingProxyTemplate.swift */; }; + FEA8AD46EE5CF6745F088EAD /* Generator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17570DCB8ED56FAA7B60FFEE /* Generator.swift */; }; + FFCD2B1E9E235ED6BC916487 /* Serializable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C85B33943FFC685132859E72 /* Serializable.swift */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ - EBC7003D5D86390D1C0B66D4 /* Embed Frameworks */ = { + 928D2C1FDC837971A9BF4A18 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + BD4DA47740DC86FD55F50F3B /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; @@ -72,70 +162,134 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 138FED4F45A753EA83E2E51F /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; - 16348F11B12CAE0A672C8AF5 /* HasAccessibility.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HasAccessibility.swift; sourceTree = ""; }; - 1A69FD5F1005C714B8EA3018 /* FileRepresentation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileRepresentation.swift; sourceTree = ""; }; - 1B0F5AAC69D432B484BC673D /* TypeGuesser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TypeGuesser.swift; sourceTree = ""; }; - 2312D3AE88464836A697F4DB /* ParentToken.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParentToken.swift; sourceTree = ""; }; - 2A0D195BAC41641CF3375653 /* StubbingProxyTemplate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubbingProxyTemplate.swift; sourceTree = ""; }; - 2C6C19B0CA66FAD233A09E0F /* ProtocolMethod.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProtocolMethod.swift; sourceTree = ""; }; - 2EDE0ACEA3B8D62F916B0CBF /* NopImplStubTemplate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NopImplStubTemplate.swift; sourceTree = ""; }; - 325DB0F8F3ED496C016BD4AA /* StderrPrint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StderrPrint.swift; sourceTree = ""; }; - 32A46C7AA3384C6A9E75D42D /* Kinds.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Kinds.swift; sourceTree = ""; }; - 33988C480FC9AC5C149B6795 /* StructDeclaration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StructDeclaration.swift; sourceTree = ""; }; - 33C94522C577C12EB8DB7D1D /* cuckoo_generator */ = {isa = PBXFileReference; includeInIndex = 0; path = cuckoo_generator; sourceTree = BUILT_PRODUCTS_DIR; }; - 349E81B36644C4CD480B8DBA /* CuckooGenerator-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "CuckooGenerator-Info.plist"; sourceTree = ""; }; - 433E7849C8D247BB09016EA7 /* ClassMethod.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClassMethod.swift; sourceTree = ""; }; - 4C7E190BA225F53914F522B2 /* TypeErasureTemplate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TypeErasureTemplate.swift; sourceTree = ""; }; - 4DAAA754B64405302EAD5EC1 /* Key.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Key.swift; sourceTree = ""; }; - 57696314AB2741C9E50BFD63 /* Generator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Generator.swift; sourceTree = ""; }; - 5D4EA3866C6E0865DF2FFB49 /* Initializer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Initializer.swift; sourceTree = ""; }; - 5F613601DE1D73E55A5603DD /* Templates.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Templates.swift; sourceTree = ""; }; - 61B785B89D04C1C865E8912C /* InstanceVariable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstanceVariable.swift; sourceTree = ""; }; - 6839A15933B288F970CCC18D /* InheritanceDeclaration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InheritanceDeclaration.swift; sourceTree = ""; }; - 68DED3B51AB1ABBE0EFE7039 /* WrappableType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WrappableType.swift; sourceTree = ""; }; - 6996F0FA9C194D7608327070 /* Glob.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Glob.swift; sourceTree = ""; }; - 6B4CB039176236C477B99F9D /* ClassDeclaration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClassDeclaration.swift; sourceTree = ""; }; - 6C20B2D1C4D8D1BBD0708832 /* HasAttributes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HasAttributes.swift; sourceTree = ""; }; - 6D890C2C4167D843AE645F8F /* Attribute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Attribute.swift; sourceTree = ""; }; - 6E15AE4C38E2CEE1A20049B0 /* VerificationProxyTemplate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationProxyTemplate.swift; sourceTree = ""; }; - 703B0AD842DE7C5D3409E88B /* Tokenizer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tokenizer.swift; sourceTree = ""; }; - 7904A5E96CA96532A11038CE /* Reference.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reference.swift; sourceTree = ""; }; - 7915C1B9229771FCFA76BB5B /* VersionCommand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VersionCommand.swift; sourceTree = ""; }; - 83BFC669D99B31757D5CDF8C /* ChildToken.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChildToken.swift; sourceTree = ""; }; - 96A1CCD9236073A3F294CC9A /* Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Utils.swift; sourceTree = ""; }; - 971C268BB07A4943DCAA3A84 /* GenericParameter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenericParameter.swift; sourceTree = ""; }; - A2FB02B86FEBFBA2E37E24FF /* CuckooGeneratorError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CuckooGeneratorError.swift; sourceTree = ""; }; - A336E482500006B3543744D3 /* Import.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Import.swift; sourceTree = ""; }; - B6B6836F39DD7D669521F048 /* FileHeaderHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileHeaderHandler.swift; sourceTree = ""; }; - BB558F3DABBD16D9E0131FDE /* Token.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Token.swift; sourceTree = ""; }; - C6014DF8177D3BCF41304B5A /* ExtensionDeclaration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionDeclaration.swift; sourceTree = ""; }; - CD7203FC4E305839536DB176 /* ReturnSignature.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReturnSignature.swift; sourceTree = ""; }; - D2337DF041B8213CEAA16E70 /* ContainerToken.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContainerToken.swift; sourceTree = ""; }; - D96F4690C6C8898367ED91BC /* MockTemplate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockTemplate.swift; sourceTree = ""; }; - E502D5E066B73074256039AB /* MethodParameter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MethodParameter.swift; sourceTree = ""; }; - E777F69CCB7816C662D980BE /* ThrowType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThrowType.swift; sourceTree = ""; }; - EBEE864D8FE696662473FFC4 /* Method.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Method.swift; sourceTree = ""; }; - F1981F84883CB3321BF8B712 /* GenerateMocksCommand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenerateMocksCommand.swift; sourceTree = ""; }; - F6B0E99C7459F16568233313 /* Accessibility.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Accessibility.swift; sourceTree = ""; }; - FFE9205FACEA1CE987DAA639 /* ProtocolDeclaration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProtocolDeclaration.swift; sourceTree = ""; }; + 0236EC583E3F0BC60A86A607 /* MethodSignature.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MethodSignature.swift; sourceTree = ""; }; + 0C20D1025E21DF0396A5DF8E /* NopImplStubTemplate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NopImplStubTemplate.swift; sourceTree = ""; }; + 0E923EEB246D54BC00305580 /* StubbingProxyTemplate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StubbingProxyTemplate.swift; sourceTree = ""; }; + 17570DCB8ED56FAA7B60FFEE /* Generator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Generator.swift; sourceTree = ""; }; + 1B5623B43A07101C33A57999 /* Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Utils.swift; sourceTree = ""; }; + 1B6C69985EF421F11E82E239 /* SyntaxToken+isPresent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SyntaxToken+isPresent.swift"; sourceTree = ""; }; + 1D26EF1D3108D49FF345DBC7 /* ThrowType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThrowType.swift; sourceTree = ""; }; + 200EDE7B95DE3AE27C29CC42 /* Method.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Method.swift; sourceTree = ""; }; + 2038E75371E9914C0057A429 /* Reference.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reference.swift; sourceTree = ""; }; + 20DEC997DE9F9A496DC55AF3 /* Accessibility.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Accessibility.swift; sourceTree = ""; }; + 29D7296FB5088F0711596882 /* Variable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Variable.swift; sourceTree = ""; }; + 2B0CEC0E6BC2F8FDDCB86A7C /* MethodParameter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MethodParameter.swift; sourceTree = ""; }; + 2D950A7A41DA6F8B7AAC81E7 /* ComplexType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ComplexType.swift; sourceTree = ""; }; + 2E01D8487E10CBAB2F8BEE25 /* ChildToken.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChildToken.swift; sourceTree = ""; }; + 2F5A4FB3A15D4BAD7313A22F /* ClassDeclaration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClassDeclaration.swift; sourceTree = ""; }; + 2FDFA6B78881951ACDF56D44 /* VerificationProxyTemplate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationProxyTemplate.swift; sourceTree = ""; }; + 32D7CD1899844A58C727A50D /* GeneratorHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GeneratorHelper.swift; sourceTree = ""; }; + 41C5C09640B2E1C7C8FB4CD7 /* HasName.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HasName.swift; sourceTree = ""; }; + 4F1F3CD491EFD856B4C96AC7 /* OrderedSet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderedSet.swift; sourceTree = ""; }; + 50316F84EA0A5C89C1ED8932 /* cuckoonator */ = {isa = PBXFileReference; includeInIndex = 0; path = cuckoonator; sourceTree = BUILT_PRODUCTS_DIR; }; + 50E0C10D6BFAE96A0A700D06 /* FileRepresentation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileRepresentation.swift; sourceTree = ""; }; + 52CE2A36ADBCB7B533AB0FDB /* TypeGuesser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TypeGuesser.swift; sourceTree = ""; }; + 5BE01B4BF58360B997B65AAD /* HasMembers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HasMembers.swift; sourceTree = ""; }; + 5D80E98FC0CAE82110714BF4 /* WrappableType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WrappableType.swift; sourceTree = ""; }; + 5E931623865980B964DF83AC /* OrderedSetTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderedSetTest.swift; sourceTree = ""; }; + 5F276DADE3205FE3A3803770 /* Import.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Import.swift; sourceTree = ""; }; + 5FADC74038E0C8E7D0BBA09F /* Token.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Token.swift; sourceTree = ""; }; + 61D4E2D59CBA725E92818DF5 /* String+convenience.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+convenience.swift"; sourceTree = ""; }; + 63889180D5687BDF03C5808D /* GenericParameter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenericParameter.swift; sourceTree = ""; }; + 63ECADC8A9E870A97EB490B5 /* AsyncType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsyncType.swift; sourceTree = ""; }; + 64A328587F28AB38A55D75AF /* CuckoonatorTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "CuckoonatorTests-Info.plist"; sourceTree = ""; }; + 64FF786D71666C925DDDD02F /* Templates.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Templates.swift; sourceTree = ""; }; + 6B412F01A6E876AC66967055 /* HasInheritance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HasInheritance.swift; sourceTree = ""; }; + 6E5104F422D2332A72E71E80 /* Module.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Module.swift; sourceTree = ""; }; + 6EC8BC8DC276C4665DF6E824 /* TypeErasureTemplate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TypeErasureTemplate.swift; sourceTree = ""; }; + 740ACFD3C6154454554E9E24 /* Inheritable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Inheritable.swift; sourceTree = ""; }; + 75D85C844D69A2D6235B024F /* CuckooGeneratorError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CuckooGeneratorError.swift; sourceTree = ""; }; + 83C7A2FE3DED070B31815AB8 /* MockTemplate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockTemplate.swift; sourceTree = ""; }; + 8512AC9AF1080BAC375B8531 /* ContainerTemplate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContainerTemplate.swift; sourceTree = ""; }; + 87F6146081A138F1D6DD9D22 /* Logger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logger.swift; sourceTree = ""; }; + 898566C0937C1E5B25F9D20D /* SwiftSyntax+convenience.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SwiftSyntax+convenience.swift"; sourceTree = ""; }; + 8D4E27DFBE13069E59BF33FB /* HasGenerics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HasGenerics.swift; sourceTree = ""; }; + 9B8A800560013CEEAC82BDD3 /* Attribute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Attribute.swift; sourceTree = ""; }; + A2019FDDCB5B2E750F7CEC8E /* Crawler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Crawler.swift; sourceTree = ""; }; + A696F092D2BB5A36E9DEFBEB /* Version.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Version.swift; sourceTree = ""; }; + AE812E30DAE3B6E5EBCFA786 /* HasAttributes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HasAttributes.swift; sourceTree = ""; }; + AE8DA2A5196EE58EC50CA4C6 /* NamespaceDeclaration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NamespaceDeclaration.swift; sourceTree = ""; }; + B191BAB90046717E743EC322 /* ProtocolDeclaration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProtocolDeclaration.swift; sourceTree = ""; }; + B6A041658EC750F648A2D193 /* ContainerToken.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContainerToken.swift; sourceTree = ""; }; + BCAECEA6462A2F4AE3EBC92C /* Async+convenience.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Async+convenience.swift"; sourceTree = ""; }; + BFC43F140EF1AFFFAEF160CF /* Glob.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Glob.swift; sourceTree = ""; }; + C0D7AACF54E49FB33288B001 /* HasAccessibility.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HasAccessibility.swift; sourceTree = ""; }; + C4C67E266FAB582D3E30F6DF /* Deinitializer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Deinitializer.swift; sourceTree = ""; }; + C85B33943FFC685132859E72 /* Serializable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Serializable.swift; sourceTree = ""; }; + CBB34C26A626E82EECF23380 /* GenerateCommand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenerateCommand.swift; sourceTree = ""; }; + D3A2C9C1C9FA19A2D8F5B32D /* FileKit+convenience.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FileKit+convenience.swift"; sourceTree = ""; }; + DC807C1DDEFBABC6EFCF3007 /* Initializer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Initializer.swift; sourceTree = ""; }; + DF4E1D009F8E0D6988EA56E9 /* ModifierListSyntax+common.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ModifierListSyntax+common.swift"; sourceTree = ""; }; + E044A540A9366402E418F816 /* Cuckoonator-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "Cuckoonator-Info.plist"; sourceTree = ""; }; + E396671E97A575A19B599EE9 /* CuckoonatorTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CuckoonatorTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + F0CA1F2E31C4D1F4D7E7AFCF /* FileHeaderHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileHeaderHandler.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 441AFB8011564060D32EAA8F /* Frameworks */ = { + BACCC590C8867384AB9B2FE2 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 66D182220FD1D33F11E28562 /* FileKit in Frameworks */, + 5A27FB878DCF33CFC25C7D58 /* Stencil in Frameworks */, + 7EA8FCCFD03F056EC363708E /* SwiftFormat in Frameworks */, + 46D9663497017BFABAA09B66 /* SwiftSyntax in Frameworks */, + 44A72AF2F6D6D2E1D371C50F /* ArgumentParser in Frameworks */, + 4871C1D4211262913FE7E23A /* TOMLKit in Frameworks */, + C51F0249FFE7914B0C2F5979 /* XcodeProj in Frameworks */, + AC2389A81EFFB61A2C217299 /* Rainbow in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + ECEB1B5DAD97C68C960F6B58 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CEDBC6AA42B2179FFD2FDA05 /* FileKit in Frameworks */, - CB29FA92BE502D99FB60ECEF /* SourceKittenFramework in Frameworks */, - 8250D1769F7A4B603CA1A592 /* Stencil in Frameworks */, - BBD88C83735F561C58C2DD0A /* Commandant in Frameworks */, + 8A928827A40634B369221352 /* FileKit in Frameworks */, + 95E7D0B5A6F8DC6D520B6763 /* Stencil in Frameworks */, + A7D8BECC5EFE87BCEA01B0ED /* SwiftFormat in Frameworks */, + FCF3348DBE14EB308918B32E /* SwiftSyntax in Frameworks */, + E6C0036B6154EEDA485EB5A6 /* ArgumentParser in Frameworks */, + DB3FE43AF21614D7910CEBC9 /* TOMLKit in Frameworks */, + 51EC7E8DFC26826B44E514C9 /* XcodeProj in Frameworks */, + 63AFCE3DB111DFBDCD713FDC /* Rainbow in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 0344172C0F1DB7F02FDC7CD5 /* Tokens */ = { + isa = PBXGroup; + children = ( + 4AC090EF079BBB7F9BAE69A5 /* Capabilities */, + 20DEC997DE9F9A496DC55AF3 /* Accessibility.swift */, + 63ECADC8A9E870A97EB490B5 /* AsyncType.swift */, + 9B8A800560013CEEAC82BDD3 /* Attribute.swift */, + 2E01D8487E10CBAB2F8BEE25 /* ChildToken.swift */, + 2F5A4FB3A15D4BAD7313A22F /* ClassDeclaration.swift */, + 2D950A7A41DA6F8B7AAC81E7 /* ComplexType.swift */, + B6A041658EC750F648A2D193 /* ContainerToken.swift */, + C4C67E266FAB582D3E30F6DF /* Deinitializer.swift */, + 50E0C10D6BFAE96A0A700D06 /* FileRepresentation.swift */, + 63889180D5687BDF03C5808D /* GenericParameter.swift */, + 5F276DADE3205FE3A3803770 /* Import.swift */, + 740ACFD3C6154454554E9E24 /* Inheritable.swift */, + DC807C1DDEFBABC6EFCF3007 /* Initializer.swift */, + 200EDE7B95DE3AE27C29CC42 /* Method.swift */, + 2B0CEC0E6BC2F8FDDCB86A7C /* MethodParameter.swift */, + 0236EC583E3F0BC60A86A607 /* MethodSignature.swift */, + AE8DA2A5196EE58EC50CA4C6 /* NamespaceDeclaration.swift */, + B191BAB90046717E743EC322 /* ProtocolDeclaration.swift */, + C85B33943FFC685132859E72 /* Serializable.swift */, + 1D26EF1D3108D49FF345DBC7 /* ThrowType.swift */, + 5FADC74038E0C8E7D0BBA09F /* Token.swift */, + 29D7296FB5088F0711596882 /* Variable.swift */, + 5D80E98FC0CAE82110714BF4 /* WrappableType.swift */, + ); + path = Tokens; + sourceTree = ""; + }; 037BDF85A53DFFE04DA6322A /* Derived */ = { isa = PBXGroup; children = ( @@ -144,53 +298,54 @@ path = Derived; sourceTree = ""; }; - 0D0318D02E7C99EE1EF10C8D /* Internal */ = { + 04B053CC137774E2F0048F4D /* CLI */ = { isa = PBXGroup; children = ( - F25CBF1DAEF187A8B970B56E /* Templates */, - 94FB853C6E7B9A4CE76B5D12 /* Tokens */, - B6B6836F39DD7D669521F048 /* FileHeaderHandler.swift */, - 57696314AB2741C9E50BFD63 /* Generator.swift */, - 7904A5E96CA96532A11038CE /* Reference.swift */, - 325DB0F8F3ED496C016BD4AA /* StderrPrint.swift */, - 703B0AD842DE7C5D3409E88B /* Tokenizer.swift */, - 1B0F5AAC69D432B484BC673D /* TypeGuesser.swift */, - 96A1CCD9236073A3F294CC9A /* Utils.swift */, + 75D85C844D69A2D6235B024F /* CuckooGeneratorError.swift */, + CBB34C26A626E82EECF23380 /* GenerateCommand.swift */, + 17570DCB8ED56FAA7B60FFEE /* Generator.swift */, + BFC43F140EF1AFFFAEF160CF /* Glob.swift */, + 87F6146081A138F1D6DD9D22 /* Logger.swift */, + 6E5104F422D2332A72E71E80 /* Module.swift */, + A696F092D2BB5A36E9DEFBEB /* Version.swift */, ); - path = Internal; + path = CLI; sourceTree = ""; }; 0F0CAAF14175F39C3C2301A9 /* Project */ = { isa = PBXGroup; children = ( 037BDF85A53DFFE04DA6322A /* Derived */, - 1169B751536CE06CB55C4078 /* Source */, + ABAEDA0CFCDBBA6082B5563D /* Sources */, + F60FED0454E4CF920FE3BA9A /* Tests */, ); name = Project; sourceTree = ""; }; - 1169B751536CE06CB55C4078 /* Source */ = { + 176EE6D9C978245745FD1742 /* Frameworks */ = { isa = PBXGroup; children = ( - 91117D9905907B20B65B86AA /* CLI */, - 0D0318D02E7C99EE1EF10C8D /* Internal */, ); - path = Source; + name = Frameworks; sourceTree = ""; }; - 176EE6D9C978245745FD1742 /* Frameworks */ = { + 22257C0399B1009509F83E73 /* InfoPlists */ = { isa = PBXGroup; children = ( + E044A540A9366402E418F816 /* Cuckoonator-Info.plist */, + 64A328587F28AB38A55D75AF /* CuckoonatorTests-Info.plist */, ); - name = Frameworks; + path = InfoPlists; sourceTree = ""; }; - 22257C0399B1009509F83E73 /* InfoPlists */ = { + 44BD331E6C89C7D6E20E42F2 /* Crawlers */ = { isa = PBXGroup; children = ( - 349E81B36644C4CD480B8DBA /* CuckooGenerator-Info.plist */, + A2019FDDCB5B2E750F7CEC8E /* Crawler.swift */, + DF4E1D009F8E0D6988EA56E9 /* ModifierListSyntax+common.swift */, + 1B6C69985EF421F11E82E239 /* SyntaxToken+isPresent.swift */, ); - path = InfoPlists; + path = Crawlers; sourceTree = ""; }; 47D17F2A940ED06A82D87C28 = { @@ -202,98 +357,144 @@ ); sourceTree = ""; }; + 4AC090EF079BBB7F9BAE69A5 /* Capabilities */ = { + isa = PBXGroup; + children = ( + C0D7AACF54E49FB33288B001 /* HasAccessibility.swift */, + AE812E30DAE3B6E5EBCFA786 /* HasAttributes.swift */, + 8D4E27DFBE13069E59BF33FB /* HasGenerics.swift */, + 6B412F01A6E876AC66967055 /* HasInheritance.swift */, + 5BE01B4BF58360B997B65AAD /* HasMembers.swift */, + 41C5C09640B2E1C7C8FB4CD7 /* HasName.swift */, + ); + path = Capabilities; + sourceTree = ""; + }; + 596D8101D8DCD33F0E4B908B /* Templates */ = { + isa = PBXGroup; + children = ( + 8512AC9AF1080BAC375B8531 /* ContainerTemplate.swift */, + 83C7A2FE3DED070B31815AB8 /* MockTemplate.swift */, + 0C20D1025E21DF0396A5DF8E /* NopImplStubTemplate.swift */, + 0E923EEB246D54BC00305580 /* StubbingProxyTemplate.swift */, + 64FF786D71666C925DDDD02F /* Templates.swift */, + 6EC8BC8DC276C4665DF6E824 /* TypeErasureTemplate.swift */, + 2FDFA6B78881951ACDF56D44 /* VerificationProxyTemplate.swift */, + ); + path = Templates; + sourceTree = ""; + }; + 7491C1B037168249BAB64867 /* Helpers */ = { + isa = PBXGroup; + children = ( + 61D4E2D59CBA725E92818DF5 /* String+convenience.swift */, + ); + path = Helpers; + sourceTree = ""; + }; 81F0FD8DFF45C31EFB709CAF /* Products */ = { isa = PBXGroup; children = ( - 33C94522C577C12EB8DB7D1D /* cuckoo_generator */, + 50316F84EA0A5C89C1ED8932 /* cuckoonator */, + E396671E97A575A19B599EE9 /* CuckoonatorTests.xctest */, ); name = Products; sourceTree = ""; }; - 91117D9905907B20B65B86AA /* CLI */ = { + ABAEDA0CFCDBBA6082B5563D /* Sources */ = { isa = PBXGroup; children = ( - A2FB02B86FEBFBA2E37E24FF /* CuckooGeneratorError.swift */, - F1981F84883CB3321BF8B712 /* GenerateMocksCommand.swift */, - 6996F0FA9C194D7608327070 /* Glob.swift */, - 138FED4F45A753EA83E2E51F /* main.swift */, - 7915C1B9229771FCFA76BB5B /* VersionCommand.swift */, + 04B053CC137774E2F0048F4D /* CLI */, + E8E8F65DD7B9E605839383CF /* Internal */, ); - path = CLI; + path = Sources; sourceTree = ""; }; - 94FB853C6E7B9A4CE76B5D12 /* Tokens */ = { + E8E8F65DD7B9E605839383CF /* Internal */ = { isa = PBXGroup; children = ( - F6B0E99C7459F16568233313 /* Accessibility.swift */, - 6D890C2C4167D843AE645F8F /* Attribute.swift */, - 83BFC669D99B31757D5CDF8C /* ChildToken.swift */, - 6B4CB039176236C477B99F9D /* ClassDeclaration.swift */, - 433E7849C8D247BB09016EA7 /* ClassMethod.swift */, - D2337DF041B8213CEAA16E70 /* ContainerToken.swift */, - C6014DF8177D3BCF41304B5A /* ExtensionDeclaration.swift */, - 1A69FD5F1005C714B8EA3018 /* FileRepresentation.swift */, - 971C268BB07A4943DCAA3A84 /* GenericParameter.swift */, - 16348F11B12CAE0A672C8AF5 /* HasAccessibility.swift */, - 6C20B2D1C4D8D1BBD0708832 /* HasAttributes.swift */, - A336E482500006B3543744D3 /* Import.swift */, - 6839A15933B288F970CCC18D /* InheritanceDeclaration.swift */, - 5D4EA3866C6E0865DF2FFB49 /* Initializer.swift */, - 61B785B89D04C1C865E8912C /* InstanceVariable.swift */, - 4DAAA754B64405302EAD5EC1 /* Key.swift */, - 32A46C7AA3384C6A9E75D42D /* Kinds.swift */, - EBEE864D8FE696662473FFC4 /* Method.swift */, - E502D5E066B73074256039AB /* MethodParameter.swift */, - 2312D3AE88464836A697F4DB /* ParentToken.swift */, - FFE9205FACEA1CE987DAA639 /* ProtocolDeclaration.swift */, - 2C6C19B0CA66FAD233A09E0F /* ProtocolMethod.swift */, - CD7203FC4E305839536DB176 /* ReturnSignature.swift */, - 33988C480FC9AC5C149B6795 /* StructDeclaration.swift */, - E777F69CCB7816C662D980BE /* ThrowType.swift */, - BB558F3DABBD16D9E0131FDE /* Token.swift */, - 68DED3B51AB1ABBE0EFE7039 /* WrappableType.swift */, + 44BD331E6C89C7D6E20E42F2 /* Crawlers */, + 7491C1B037168249BAB64867 /* Helpers */, + 596D8101D8DCD33F0E4B908B /* Templates */, + 0344172C0F1DB7F02FDC7CD5 /* Tokens */, + BCAECEA6462A2F4AE3EBC92C /* Async+convenience.swift */, + F0CA1F2E31C4D1F4D7E7AFCF /* FileHeaderHandler.swift */, + D3A2C9C1C9FA19A2D8F5B32D /* FileKit+convenience.swift */, + 32D7CD1899844A58C727A50D /* GeneratorHelper.swift */, + 4F1F3CD491EFD856B4C96AC7 /* OrderedSet.swift */, + 2038E75371E9914C0057A429 /* Reference.swift */, + 898566C0937C1E5B25F9D20D /* SwiftSyntax+convenience.swift */, + 52CE2A36ADBCB7B533AB0FDB /* TypeGuesser.swift */, + 1B5623B43A07101C33A57999 /* Utils.swift */, ); - path = Tokens; + path = Internal; sourceTree = ""; }; - F25CBF1DAEF187A8B970B56E /* Templates */ = { + F60FED0454E4CF920FE3BA9A /* Tests */ = { isa = PBXGroup; children = ( - D96F4690C6C8898367ED91BC /* MockTemplate.swift */, - 2EDE0ACEA3B8D62F916B0CBF /* NopImplStubTemplate.swift */, - 2A0D195BAC41641CF3375653 /* StubbingProxyTemplate.swift */, - 5F613601DE1D73E55A5603DD /* Templates.swift */, - 4C7E190BA225F53914F522B2 /* TypeErasureTemplate.swift */, - 6E15AE4C38E2CEE1A20049B0 /* VerificationProxyTemplate.swift */, + 5E931623865980B964DF83AC /* OrderedSetTest.swift */, ); - path = Templates; + path = Tests; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - BFA35E87D881C5E54340E27C /* CuckooGenerator */ = { + 210A2D4A8CA610B2DBD38F07 /* CuckoonatorTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = AD2A2694FE1DBE78ED20E641 /* Build configuration list for PBXNativeTarget "CuckoonatorTests" */; + buildPhases = ( + DA99D98EAD4A6CD2740B582E /* Sources */, + 9C8158AF47C65EDF2806039B /* Resources */, + BD4DA47740DC86FD55F50F3B /* Embed Frameworks */, + ECEB1B5DAD97C68C960F6B58 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = CuckoonatorTests; + packageProductDependencies = ( + AC6685255D5370BF08A7BA31 /* FileKit */, + FA3FEB96551B01B3B12795B5 /* Stencil */, + 40FBF1EF4588DEF0C34CC5AA /* SwiftFormat */, + 62225DF9A023014F74823A4D /* SwiftSyntax */, + 0461AA3DA9DB4A68910D1B97 /* ArgumentParser */, + C443144D2084F752ABD40F7D /* TOMLKit */, + 7E00179A8BA49B9C8D4230FB /* XcodeProj */, + 45417D207C5B670A21479EA0 /* Rainbow */, + ); + productName = CuckoonatorTests; + productReference = E396671E97A575A19B599EE9 /* CuckoonatorTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + B015B928C38A178E17010830 /* Cuckoonator */ = { isa = PBXNativeTarget; - buildConfigurationList = 248772CBD299DB099FDD6F7E /* Build configuration list for PBXNativeTarget "CuckooGenerator" */; + buildConfigurationList = 7E9A164AE9E7A5E31A054BE0 /* Build configuration list for PBXNativeTarget "Cuckoonator" */; buildPhases = ( - 07DE9AF52BF67A230BFF64F8 /* Sources */, - E351D08352E559DD9C70B606 /* Resources */, - EBC7003D5D86390D1C0B66D4 /* Embed Frameworks */, - 441AFB8011564060D32EAA8F /* Frameworks */, + ECA0102578C3BFDB56BDA8BA /* Sources */, + 16A3B7BBFE7104866F0D4DB8 /* Resources */, + 928D2C1FDC837971A9BF4A18 /* Embed Frameworks */, + BACCC590C8867384AB9B2FE2 /* Frameworks */, ); buildRules = ( ); dependencies = ( ); - name = CuckooGenerator; + name = Cuckoonator; packageProductDependencies = ( - 0CBF790FA7FFD04DE5EF9DE4 /* FileKit */, - 66495C97423D856653EDFD7D /* SourceKittenFramework */, - 6036113D508ADE8D318BAD18 /* Stencil */, - 2B54C91F3F591857330E625B /* Commandant */, + AD2D7CEA740A2A8B936746A3 /* FileKit */, + 874C86044871C521F0D50492 /* Stencil */, + 2690FAF509B9294F9963CFC6 /* SwiftFormat */, + 10B6A078051BAD502FBAC752 /* SwiftSyntax */, + 82A76F6C4BC47C860A90EFA7 /* ArgumentParser */, + CF01AE9B482B793213C15803 /* TOMLKit */, + D2BFBD8FD405A61AC715D4A9 /* XcodeProj */, + 4A40ECC25B2971D5517C901E /* Rainbow */, ); - productName = cuckoo_generator; - productReference = 33C94522C577C12EB8DB7D1D /* cuckoo_generator */; + productName = cuckoonator; + productReference = 50316F84EA0A5C89C1ED8932 /* cuckoonator */; productType = "com.apple.product-type.tool"; }; /* End PBXNativeTarget section */ @@ -315,22 +516,34 @@ ); mainGroup = 47D17F2A940ED06A82D87C28; packageReferences = ( - 390B1EF7E7CD0FEF83C2BBB1 /* XCRemoteSwiftPackageReference "Commandant" */, - E028369DE1A85E678C5B4112 /* XCRemoteSwiftPackageReference "SourceKitten" */, + 654FDF5DDCA8E00AB30C627C /* XCRemoteSwiftPackageReference "TOMLKit" */, + 3353184D432ADAA3A1181227 /* XCRemoteSwiftPackageReference "swift-argument-parser" */, + 4F2286D2C3C81C45B632B917 /* XCRemoteSwiftPackageReference "swift-format" */, + 363029939C5CBC4C8DBF3C5A /* XCRemoteSwiftPackageReference "swift-syntax" */, 8B21E241BF00E2E25C38BB43 /* XCRemoteSwiftPackageReference "Stencil" */, 12B435B0A49E5C757FE0FC38 /* XCRemoteSwiftPackageReference "FileKit" */, + 94DB3AD2FF77CD1231BF7E6C /* XCRemoteSwiftPackageReference "Rainbow" */, + 626B8647C363F00FE034AC55 /* XCRemoteSwiftPackageReference "XcodeProj" */, ); productRefGroup = 81F0FD8DFF45C31EFB709CAF /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - BFA35E87D881C5E54340E27C /* CuckooGenerator */, + B015B928C38A178E17010830 /* Cuckoonator */, + 210A2D4A8CA610B2DBD38F07 /* CuckoonatorTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - E351D08352E559DD9C70B606 /* Resources */ = { + 16A3B7BBFE7104866F0D4DB8 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9C8158AF47C65EDF2806039B /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -340,69 +553,165 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 07DE9AF52BF67A230BFF64F8 /* Sources */ = { + DA99D98EAD4A6CD2740B582E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 48BB8A9F272BE7AAC8B2B822 /* CuckooGeneratorError.swift in Sources */, - 8275A66D22A50B5F1C74EEF9 /* GenerateMocksCommand.swift in Sources */, - 4BD49E754220E3DC7DFD5F05 /* Glob.swift in Sources */, - F67FB69D10669B405A507952 /* VersionCommand.swift in Sources */, - 0AFEE40B12A77BA6758B9AD7 /* main.swift in Sources */, - E7F02E01FCFD74020B479133 /* FileHeaderHandler.swift in Sources */, - 5C43E9D617C9F2DE50A76EC4 /* Generator.swift in Sources */, - D3E0D310775B070970C290CF /* Reference.swift in Sources */, - 77577C695E950D1142E96B6E /* StderrPrint.swift in Sources */, - 6FFF2BA4DC511C7123C8B04E /* MockTemplate.swift in Sources */, - A92424CE80311E377ED8EA52 /* NopImplStubTemplate.swift in Sources */, - ED3E351ED7EE4E4FB998F4EE /* StubbingProxyTemplate.swift in Sources */, - BAE020844292F9957F6AD835 /* Templates.swift in Sources */, - AF01864E097FF15BA97CC603 /* TypeErasureTemplate.swift in Sources */, - 29B68879A35DD7CD8A7554E7 /* VerificationProxyTemplate.swift in Sources */, - 37A8FF6370E63A8439B470FD /* Tokenizer.swift in Sources */, - D145A183C527E610526AB502 /* Accessibility.swift in Sources */, - 46BD77F998C1A479F7EF9E74 /* Attribute.swift in Sources */, - BE92F2AB179EA6DB33791835 /* ChildToken.swift in Sources */, - 586FB721C13538278A1D53BE /* ClassDeclaration.swift in Sources */, - AC0A0F733572D77572E00634 /* ClassMethod.swift in Sources */, - C1919E37AAC1443E1DCE0385 /* ContainerToken.swift in Sources */, - BCBA5E98BEF9D3CC5D8816CC /* ExtensionDeclaration.swift in Sources */, - E6D4CB4F5EB5FC09F43541EE /* FileRepresentation.swift in Sources */, - A57C26C3AD1FFD7C0561643F /* GenericParameter.swift in Sources */, - 147EE48DFC0BC20437D61414 /* HasAccessibility.swift in Sources */, - CC56EA8BFFAF514AA6D5F830 /* HasAttributes.swift in Sources */, - 93A8ECEF74DB312B2DA4CBCB /* Import.swift in Sources */, - 314D56147134EC538F6BCCAE /* InheritanceDeclaration.swift in Sources */, - 8825D4F56DD7D65B0533AB03 /* Initializer.swift in Sources */, - C7D95E3E63F8163CD1A029DB /* InstanceVariable.swift in Sources */, - AE99D882F23E5B8AEE49183E /* Key.swift in Sources */, - 117BA082F941E455B72346A7 /* Kinds.swift in Sources */, - 1A0B3B50ADFC6421F70172A5 /* Method.swift in Sources */, - 9B8838BB8FE05661B9210C3F /* MethodParameter.swift in Sources */, - 48F72C7998C49EFE46705BC9 /* ParentToken.swift in Sources */, - B4276658B7E416B844CD5CA9 /* ProtocolDeclaration.swift in Sources */, - AEB54374586A4E3A840C4B26 /* ProtocolMethod.swift in Sources */, - 8E1F8DF3D985D506E2B659EC /* ReturnSignature.swift in Sources */, - 1992D9DD0BC5300C00902CBF /* StructDeclaration.swift in Sources */, - 41A3AC00924CC5E348068049 /* ThrowType.swift in Sources */, - 6DAFB2FBEF812F44BF6CB0AF /* Token.swift in Sources */, - 4C28C64F89D995A3967B1817 /* WrappableType.swift in Sources */, - 32CA3E58F2AFE9409DB34B35 /* TypeGuesser.swift in Sources */, - 5E744FA008D3C5F312D6E59C /* Utils.swift in Sources */, + 5952ACA075CB38A94D93705F /* CuckooGeneratorError.swift in Sources */, + 365A0CD5CA0829527545FA46 /* GenerateCommand.swift in Sources */, + FEA8AD46EE5CF6745F088EAD /* Generator.swift in Sources */, + 972AEC7F5453E8364CCE396E /* Glob.swift in Sources */, + 2C97DFA9D3E23CCA7F52A69F /* Logger.swift in Sources */, + BD95D074E86979BDBBAC53A1 /* Module.swift in Sources */, + 2373BA514791F420D6BDFBBE /* Version.swift in Sources */, + F78FC05D5530863EC96827BD /* Async+convenience.swift in Sources */, + 0A149993A93D5365CD2D7727 /* Crawler.swift in Sources */, + 363FDF45604BA557A8656965 /* ModifierListSyntax+common.swift in Sources */, + 658359C4AA4B20134FC10EF8 /* SyntaxToken+isPresent.swift in Sources */, + EE65A86BC337117580C310AA /* FileHeaderHandler.swift in Sources */, + 7CA581756A0565FEABCFB069 /* FileKit+convenience.swift in Sources */, + E5E27320B65D9E15B45B7086 /* GeneratorHelper.swift in Sources */, + 052790A76E0F6ABA96C9A3E0 /* String+convenience.swift in Sources */, + 4A04C8DABB34967D6D2EDB49 /* OrderedSet.swift in Sources */, + A82BA9AE98522CF4D219B107 /* Reference.swift in Sources */, + 9DCE5272A0525C571FB23E0F /* SwiftSyntax+convenience.swift in Sources */, + 89D8E6E0BB802AAC86092BD6 /* ContainerTemplate.swift in Sources */, + 5CA71A4AF5B2FEDD41396FCA /* MockTemplate.swift in Sources */, + 0590D5E1059A7678C601109F /* NopImplStubTemplate.swift in Sources */, + FE1CA1D2D68ECCD53D48698E /* StubbingProxyTemplate.swift in Sources */, + CA3FB4772D2F62F20750E9AC /* Templates.swift in Sources */, + 95A6440D0CAFC15C1B956397 /* TypeErasureTemplate.swift in Sources */, + 90D41AE72F82B430759E34F8 /* VerificationProxyTemplate.swift in Sources */, + 6FDA81177819E3200FCA41F9 /* Accessibility.swift in Sources */, + E4A72D21E0830271C848323A /* AsyncType.swift in Sources */, + 4A2BFBD3DA28E395A3D05946 /* Attribute.swift in Sources */, + BB07EA4E138FDBF528CC07CD /* HasAccessibility.swift in Sources */, + A287B2FC91838CF47C1A402E /* HasAttributes.swift in Sources */, + 91F3C9952FD50B00004D5C56 /* HasGenerics.swift in Sources */, + 06E7ED0443C87639FFAC9011 /* HasInheritance.swift in Sources */, + 9DE5F7B984049D095AA4074C /* HasMembers.swift in Sources */, + CC766E6609048FAD7D7094E5 /* HasName.swift in Sources */, + 029AE21A6F2451C44AD5191C /* ChildToken.swift in Sources */, + 92BBACC8AC2B5D8B99667EEA /* ClassDeclaration.swift in Sources */, + F9D4D3624CF450DAF961A852 /* ComplexType.swift in Sources */, + 751578C4C568784899DC919A /* ContainerToken.swift in Sources */, + 55DC323A3F6F812615DAA8A5 /* Deinitializer.swift in Sources */, + 8836B9D60D0B9B0CD695092E /* FileRepresentation.swift in Sources */, + 8540D535F2845A4E702C641C /* GenericParameter.swift in Sources */, + 66CE4EBCFCD175C2B0CC074A /* Import.swift in Sources */, + 4EAC0C297D3C3B19EB3809D7 /* Inheritable.swift in Sources */, + 93BFD80D6B554649BC03A321 /* Initializer.swift in Sources */, + 436B1158A6ED217E8D5B05A2 /* Method.swift in Sources */, + 440C1F66A6749F51752B99FB /* MethodParameter.swift in Sources */, + 5ECC262B02106A314D1EC39F /* MethodSignature.swift in Sources */, + 56798F6712767CD2176C6877 /* NamespaceDeclaration.swift in Sources */, + 98AFF44E7CD008C326B76F4B /* ProtocolDeclaration.swift in Sources */, + FFCD2B1E9E235ED6BC916487 /* Serializable.swift in Sources */, + 141905F2FC677156003FA504 /* ThrowType.swift in Sources */, + B690F1EAE9253E567336BD3B /* Token.swift in Sources */, + 7186102BF18CBF82AFC97944 /* Variable.swift in Sources */, + F791789C605792A20E8A1CF7 /* WrappableType.swift in Sources */, + E315E39EB41AA20E8A0BE77D /* TypeGuesser.swift in Sources */, + 0188B594F3AE38B9BA5BADE2 /* Utils.swift in Sources */, + FCB132A3412E852A169DD034 /* OrderedSetTest.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + ECA0102578C3BFDB56BDA8BA /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 757BEC6F1A54C15EDDA9F87D /* CuckooGeneratorError.swift in Sources */, + 8D1AA9575B15BDBF9044515D /* GenerateCommand.swift in Sources */, + FAB2366C273E3BC994A8C856 /* Generator.swift in Sources */, + EA09C9F075B96BD4EAACB470 /* Glob.swift in Sources */, + 3A3BEDE525ED733D2DC2C8CB /* Logger.swift in Sources */, + 7E252699C077ACF9FD291F1A /* Module.swift in Sources */, + 2938335E8B86B5EFBC8DB5B3 /* Version.swift in Sources */, + 8AD8FAFFCDFE20A53E2A6FD8 /* Async+convenience.swift in Sources */, + E1FBDF789B8A90A193BB254F /* Crawler.swift in Sources */, + 48205DE8188B258737270530 /* ModifierListSyntax+common.swift in Sources */, + 2AFC922868834229C138B7C7 /* SyntaxToken+isPresent.swift in Sources */, + 846FF44141EAE708431788F6 /* FileHeaderHandler.swift in Sources */, + 506FEFC319A37FB725718DFE /* FileKit+convenience.swift in Sources */, + B6561879DDC7F7713C7952BD /* GeneratorHelper.swift in Sources */, + 1A8C1847ADF9D6BD497009CE /* String+convenience.swift in Sources */, + DCB9504CD17B5E8449ECC625 /* OrderedSet.swift in Sources */, + 656092FCFDAFB7854694D39D /* Reference.swift in Sources */, + C700DF34443A6E42C5FB72FC /* SwiftSyntax+convenience.swift in Sources */, + 35594693AA4CAF3AA2D03C06 /* ContainerTemplate.swift in Sources */, + A81CBA6691D31B0CCCFC0B03 /* MockTemplate.swift in Sources */, + 377E989A267F25F31F1B464E /* NopImplStubTemplate.swift in Sources */, + 9B2F0AE7C751D3A72BEF7663 /* StubbingProxyTemplate.swift in Sources */, + 874D43E3025261D20346F043 /* Templates.swift in Sources */, + C55F92ED81B9431A914475D2 /* TypeErasureTemplate.swift in Sources */, + 1E52E97EB5004CFAB912F34E /* VerificationProxyTemplate.swift in Sources */, + 7BA0A80747083052F5C13CFA /* Accessibility.swift in Sources */, + AA90F603A7138B9849288D0D /* AsyncType.swift in Sources */, + 7CD4072067DCEE2A688103E8 /* Attribute.swift in Sources */, + D1CC846E8391FC71AED3ABD8 /* HasAccessibility.swift in Sources */, + 3F6B174624FD6FAFCB8757B2 /* HasAttributes.swift in Sources */, + E529E0E09DC7693A83E43B00 /* HasGenerics.swift in Sources */, + 9D8817E4FA17640C46159854 /* HasInheritance.swift in Sources */, + A726E94D443E854CF233AB3B /* HasMembers.swift in Sources */, + 8B73D3D43ACA1CEF23CC6101 /* HasName.swift in Sources */, + 90FBE14B957259BF1CE1644A /* ChildToken.swift in Sources */, + 579A5DF5F9933D773D792DD5 /* ClassDeclaration.swift in Sources */, + 150B7AB135AA60B0C15A6517 /* ComplexType.swift in Sources */, + C4B82C54CDB43FB6DA808E2D /* ContainerToken.swift in Sources */, + CAF58D087934262F0521D057 /* Deinitializer.swift in Sources */, + 6FFF3BC006C1006E4415AFDD /* FileRepresentation.swift in Sources */, + E00B187D2F98F753236CA25F /* GenericParameter.swift in Sources */, + 698C1052721737ADF27ABB0A /* Import.swift in Sources */, + 2AE7D1FED2533686F9BCA0AE /* Inheritable.swift in Sources */, + 88DC61F066E5D5A5C0BB3317 /* Initializer.swift in Sources */, + 17A2954EF62AC448248369BC /* Method.swift in Sources */, + A863F7D5DA2F1E539178451B /* MethodParameter.swift in Sources */, + 6B9EA70876BE120C8290ED7E /* MethodSignature.swift in Sources */, + CB65B046EAB308A744FFF63F /* NamespaceDeclaration.swift in Sources */, + F92208967234117E720437D4 /* ProtocolDeclaration.swift in Sources */, + 684B648F884AA3B5A462CD59 /* Serializable.swift in Sources */, + 9D189C307AE1AC7DE2C195F3 /* ThrowType.swift in Sources */, + 9EDFF9FF001092ADBB498321 /* Token.swift in Sources */, + D6B779DA9049F4DEA4357B3A /* Variable.swift in Sources */, + 5C038CE64446FCB603FA7421 /* WrappableType.swift in Sources */, + 1B310882114692703DD9C199 /* TypeGuesser.swift in Sources */, + 963197C8A76D676236D46AA1 /* Utils.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ - 3D7E92130EAD1F6146A6BBC7 /* Release */ = { + 287152D54903842CE05259C9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = "-"; + INFOPLIST_FILE = "Derived/InfoPlists/Cuckoonator-Info.plist"; + MACOSX_DEPLOYMENT_TARGET = 12.0; + PRODUCT_BUNDLE_IDENTIFIER = Cuckoonator; + PRODUCT_NAME = cuckoonator; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_COMPILATION_MODE = singlefile; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 39A111FCD88D7ADF0A884572 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_IDENTITY = "-"; - INFOPLIST_FILE = "Derived/InfoPlists/CuckooGenerator-Info.plist"; - MACOSX_DEPLOYMENT_TARGET = 10.13; - PRODUCT_BUNDLE_IDENTIFIER = CuckooGenerator; - PRODUCT_NAME = cuckoo_generator; + INFOPLIST_FILE = "Derived/InfoPlists/CuckoonatorTests-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 12.0; + PRODUCT_BUNDLE_IDENTIFIER = CuckoonatorTests; + PRODUCT_NAME = CuckoonatorTests; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; @@ -469,22 +778,6 @@ }; name = Debug; }; - A8701E846DBCD6DCEE04C832 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - INFOPLIST_FILE = "Derived/InfoPlists/CuckooGenerator-Info.plist"; - MACOSX_DEPLOYMENT_TARGET = 10.13; - PRODUCT_BUNDLE_IDENTIFIER = CuckooGenerator; - PRODUCT_NAME = cuckoo_generator; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_COMPILATION_MODE = singlefile; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; A971994AD9DF403EFB3A9BC6 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { @@ -538,14 +831,50 @@ }; name = Release; }; + B8DACDF8CCE9B67604A12608 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = "-"; + INFOPLIST_FILE = "Derived/InfoPlists/CuckoonatorTests-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 12.0; + PRODUCT_BUNDLE_IDENTIFIER = CuckoonatorTests; + PRODUCT_NAME = CuckoonatorTests; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_COMPILATION_MODE = singlefile; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + E661DD748C0AB93DFCD77553 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = "-"; + INFOPLIST_FILE = "Derived/InfoPlists/Cuckoonator-Info.plist"; + MACOSX_DEPLOYMENT_TARGET = 12.0; + PRODUCT_BUNDLE_IDENTIFIER = Cuckoonator; + PRODUCT_NAME = cuckoonator; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 248772CBD299DB099FDD6F7E /* Build configuration list for PBXNativeTarget "CuckooGenerator" */ = { + 7E9A164AE9E7A5E31A054BE0 /* Build configuration list for PBXNativeTarget "Cuckoonator" */ = { isa = XCConfigurationList; buildConfigurations = ( - A8701E846DBCD6DCEE04C832 /* Debug */, - 3D7E92130EAD1F6146A6BBC7 /* Release */, + 287152D54903842CE05259C9 /* Debug */, + E661DD748C0AB93DFCD77553 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -559,6 +888,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + AD2A2694FE1DBE78ED20E641 /* Build configuration list for PBXNativeTarget "CuckoonatorTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B8DACDF8CCE9B67604A12608 /* Debug */, + 39A111FCD88D7ADF0A884572 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ @@ -566,16 +904,48 @@ isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/nvzqz/FileKit.git"; requirement = { - branch = develop; - kind = branch; + kind = exactVersion; + version = 6.1.0; + }; + }; + 3353184D432ADAA3A1181227 /* XCRemoteSwiftPackageReference "swift-argument-parser" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/apple/swift-argument-parser"; + requirement = { + kind = exactVersion; + version = 1.2.3; + }; + }; + 363029939C5CBC4C8DBF3C5A /* XCRemoteSwiftPackageReference "swift-syntax" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/apple/swift-syntax.git"; + requirement = { + kind = exactVersion; + version = 509.0.0; + }; + }; + 4F2286D2C3C81C45B632B917 /* XCRemoteSwiftPackageReference "swift-format" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/apple/swift-format.git"; + requirement = { + kind = exactVersion; + version = 509.0.0; + }; + }; + 626B8647C363F00FE034AC55 /* XCRemoteSwiftPackageReference "XcodeProj" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/tuist/XcodeProj.git"; + requirement = { + kind = exactVersion; + version = 8.15.0; }; }; - 390B1EF7E7CD0FEF83C2BBB1 /* XCRemoteSwiftPackageReference "Commandant" */ = { + 654FDF5DDCA8E00AB30C627C /* XCRemoteSwiftPackageReference "TOMLKit" */ = { isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/Carthage/Commandant.git"; + repositoryURL = "https://github.com/LebJe/TOMLKit.git"; requirement = { kind = exactVersion; - version = 0.15.0; + version = 0.5.5; }; }; 8B21E241BF00E2E25C38BB43 /* XCRemoteSwiftPackageReference "Stencil" */ = { @@ -583,35 +953,83 @@ repositoryURL = "https://github.com/kylef/Stencil.git"; requirement = { kind = exactVersion; - version = 0.14.2; + version = 0.15.1; }; }; - E028369DE1A85E678C5B4112 /* XCRemoteSwiftPackageReference "SourceKitten" */ = { + 94DB3AD2FF77CD1231BF7E6C /* XCRemoteSwiftPackageReference "Rainbow" */ = { isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/jpsim/SourceKitten.git"; + repositoryURL = "https://github.com/onevcat/Rainbow"; requirement = { - kind = upToNextMinorVersion; - minimumVersion = 0.21.2; + kind = exactVersion; + version = 4.0.1; }; }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 0CBF790FA7FFD04DE5EF9DE4 /* FileKit */ = { + 0461AA3DA9DB4A68910D1B97 /* ArgumentParser */ = { isa = XCSwiftPackageProductDependency; - productName = FileKit; + productName = ArgumentParser; + }; + 10B6A078051BAD502FBAC752 /* SwiftSyntax */ = { + isa = XCSwiftPackageProductDependency; + productName = SwiftSyntax; + }; + 2690FAF509B9294F9963CFC6 /* SwiftFormat */ = { + isa = XCSwiftPackageProductDependency; + productName = SwiftFormat; + }; + 40FBF1EF4588DEF0C34CC5AA /* SwiftFormat */ = { + isa = XCSwiftPackageProductDependency; + productName = SwiftFormat; + }; + 45417D207C5B670A21479EA0 /* Rainbow */ = { + isa = XCSwiftPackageProductDependency; + productName = Rainbow; }; - 2B54C91F3F591857330E625B /* Commandant */ = { + 4A40ECC25B2971D5517C901E /* Rainbow */ = { isa = XCSwiftPackageProductDependency; - productName = Commandant; + productName = Rainbow; }; - 6036113D508ADE8D318BAD18 /* Stencil */ = { + 62225DF9A023014F74823A4D /* SwiftSyntax */ = { + isa = XCSwiftPackageProductDependency; + productName = SwiftSyntax; + }; + 7E00179A8BA49B9C8D4230FB /* XcodeProj */ = { + isa = XCSwiftPackageProductDependency; + productName = XcodeProj; + }; + 82A76F6C4BC47C860A90EFA7 /* ArgumentParser */ = { + isa = XCSwiftPackageProductDependency; + productName = ArgumentParser; + }; + 874C86044871C521F0D50492 /* Stencil */ = { isa = XCSwiftPackageProductDependency; productName = Stencil; }; - 66495C97423D856653EDFD7D /* SourceKittenFramework */ = { + AC6685255D5370BF08A7BA31 /* FileKit */ = { + isa = XCSwiftPackageProductDependency; + productName = FileKit; + }; + AD2D7CEA740A2A8B936746A3 /* FileKit */ = { + isa = XCSwiftPackageProductDependency; + productName = FileKit; + }; + C443144D2084F752ABD40F7D /* TOMLKit */ = { + isa = XCSwiftPackageProductDependency; + productName = TOMLKit; + }; + CF01AE9B482B793213C15803 /* TOMLKit */ = { isa = XCSwiftPackageProductDependency; - productName = SourceKittenFramework; + productName = TOMLKit; + }; + D2BFBD8FD405A61AC715D4A9 /* XcodeProj */ = { + isa = XCSwiftPackageProductDependency; + productName = XcodeProj; + }; + FA3FEB96551B01B3B12795B5 /* Stencil */ = { + isa = XCSwiftPackageProductDependency; + productName = Stencil; }; /* End XCSwiftPackageProductDependency section */ }; diff --git a/Generator/Generator.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Generator/Generator.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index a2dea0f6..e34f68d2 100644 --- a/Generator/Generator.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Generator/Generator.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,12 +1,12 @@ { "pins" : [ { - "identity" : "commandant", + "identity" : "aexml", "kind" : "remoteSourceControl", - "location" : "https://github.com/Carthage/Commandant.git", + "location" : "https://github.com/tadija/AEXML.git", "state" : { - "revision" : "07cad52573bad19d95844035bf0b25acddf6b0f6", - "version" : "0.15.0" + "revision" : "38f7d00b23ecd891e1ee656fa6aeebd6ba04ecc3", + "version" : "4.6.1" } }, { @@ -14,89 +14,107 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/nvzqz/FileKit.git", "state" : { - "branch" : "develop", - "revision" : "9006d2888025fbe893c3c396327b2fe45a8c177b" + "revision" : "9006d2888025fbe893c3c396327b2fe45a8c177b", + "version" : "6.1.0" } }, { - "identity" : "nimble", + "identity" : "pathkit", "kind" : "remoteSourceControl", - "location" : "https://github.com/Quick/Nimble.git", + "location" : "https://github.com/kylef/PathKit.git", "state" : { - "revision" : "e9d769113660769a4d9dd3afb855562c0b7ae7b0", - "version" : "7.3.4" + "revision" : "3bfd2737b700b9a36565a8c94f4ad2b050a5e574", + "version" : "1.0.1" } }, { - "identity" : "pathkit", + "identity" : "rainbow", "kind" : "remoteSourceControl", - "location" : "https://github.com/kylef/PathKit.git", + "location" : "https://github.com/onevcat/Rainbow", "state" : { - "revision" : "3bfd2737b700b9a36565a8c94f4ad2b050a5e574", - "version" : "1.0.1" + "revision" : "e0dada9cd44e3fa7ec3b867e49a8ddbf543e3df3", + "version" : "4.0.1" } }, { - "identity" : "quick", + "identity" : "spectre", "kind" : "remoteSourceControl", - "location" : "https://github.com/Quick/Quick.git", + "location" : "https://github.com/kylef/Spectre.git", "state" : { - "revision" : "f2b5a06440ea87eba1a167cab37bf6496646c52e", - "version" : "1.3.4" + "revision" : "26cc5e9ae0947092c7139ef7ba612e34646086c7", + "version" : "0.10.1" } }, { - "identity" : "result", + "identity" : "stencil", "kind" : "remoteSourceControl", - "location" : "https://github.com/antitypical/Result.git", + "location" : "https://github.com/kylef/Stencil.git", "state" : { - "revision" : "2ca499ba456795616fbc471561ff1d963e6ae160", - "version" : "4.1.0" + "revision" : "4f222ac85d673f35df29962fc4c36ccfdaf9da5b", + "version" : "0.15.1" } }, { - "identity" : "sourcekitten", + "identity" : "swift-argument-parser", "kind" : "remoteSourceControl", - "location" : "https://github.com/jpsim/SourceKitten.git", + "location" : "https://github.com/apple/swift-argument-parser", "state" : { - "revision" : "79ca340f609adee48defa966e6a3dd0e0acbeb08", - "version" : "0.21.3" + "revision" : "8f4d2753f0e4778c76d5f05ad16c74f707390531", + "version" : "1.2.3" } }, { - "identity" : "spectre", + "identity" : "swift-cmark", "kind" : "remoteSourceControl", - "location" : "https://github.com/kylef/Spectre.git", + "location" : "https://github.com/apple/swift-cmark.git", "state" : { - "revision" : "26cc5e9ae0947092c7139ef7ba612e34646086c7", - "version" : "0.10.1" + "revision" : "f218e5d7691f78b55bfa39b367763f4612486c35", + "version" : "0.3.0" } }, { - "identity" : "stencil", + "identity" : "swift-format", "kind" : "remoteSourceControl", - "location" : "https://github.com/kylef/Stencil.git", + "location" : "https://github.com/apple/swift-format.git", + "state" : { + "revision" : "83248b4fa37919f78ffbd4650946759bcc54c2b5", + "version" : "509.0.0" + } + }, + { + "identity" : "swift-markdown", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-markdown.git", + "state" : { + "revision" : "e4f95e2dc23097a1a9a1dfdfe3fe3ee44de77378", + "version" : "0.3.0" + } + }, + { + "identity" : "swift-syntax", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-syntax.git", "state" : { - "revision" : "ccd9402682f4c07dac9561befd207c8156e80e20", - "version" : "0.14.2" + "revision" : "74203046135342e4a4a627476dd6caf8b28fe11b", + "version" : "509.0.0" } }, { - "identity" : "swxmlhash", + "identity" : "tomlkit", "kind" : "remoteSourceControl", - "location" : "https://github.com/drmohundro/SWXMLHash.git", + "location" : "https://github.com/LebJe/TOMLKit.git", "state" : { - "revision" : "f43166a8e18fdd0857f29e303b1bb79a5428bca0", - "version" : "4.9.0" + "revision" : "404c4dd011743461bff12d00a5118d0ed59d630c", + "version" : "0.5.5" } }, { - "identity" : "yams", + "identity" : "xcodeproj", "kind" : "remoteSourceControl", - "location" : "https://github.com/jpsim/Yams.git", + "location" : "https://github.com/tuist/XcodeProj.git", "state" : { - "revision" : "b08dba4bcea978bf1ad37703a384097d3efce5af", - "version" : "1.0.2" + "revision" : "3797181813ee963fe305d939232bc576d23ddbb0", + "version" : "8.15.0" } } ], diff --git a/Generator/Generator.xcodeproj/xcshareddata/xcschemes/Generator.xcscheme b/Generator/Generator.xcodeproj/xcshareddata/xcschemes/Generator.xcscheme index 0395a64c..2310126a 100644 --- a/Generator/Generator.xcodeproj/xcshareddata/xcschemes/Generator.xcscheme +++ b/Generator/Generator.xcodeproj/xcshareddata/xcschemes/Generator.xcscheme @@ -10,13 +10,13 @@ ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction"> + scriptText = "\cp "$BUILT_PRODUCTS_DIR/$EXECUTABLE_NAME" "$PROJECT_DIR/bin/cuckoonator""> @@ -32,9 +32,9 @@ buildForAnalyzing = "YES"> @@ -44,9 +44,18 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES" - disableMainThreadChecker = "YES"> + shouldUseLaunchSchemeArgsEnv = "YES"> + + + + - - - - - - @@ -105,9 +102,9 @@ runnableDebuggingMode = "0"> diff --git a/Generator/Sources/CLI/Generator.swift b/Generator/Sources/CLI/Generator.swift index 5ff9aee2..9a71f48b 100644 --- a/Generator/Sources/CLI/Generator.swift +++ b/Generator/Sources/CLI/Generator.swift @@ -42,11 +42,15 @@ final class Generator { } } let flatMappedFiles = files.map { $0.flatMappingMemberContainers() } - let finalFiles = module.options.noInheritance ? flatMappedFiles : inheritNSObject(mergingInheritance(flatMappedFiles)) + let finalFiles = if module.options.enableInheritance { + inheritNSObject(mergingInheritance(flatMappedFiles)) + } else { + flatMappedFiles + } // filter classes/protocols based on the settings passed to the generator var typeFilters: [TokenFilter] = [] - if module.options.noClassMocking { + if module.options.protocolsOnly { typeFilters.append(ignoreClasses) } if let regex = module.regex { @@ -63,7 +67,7 @@ final class Generator { GeneratedFile( path: file.file.path, contents: [ - module.options.noHeaders ? nil : FileHeaderHandler.header(for: file, timestamp: timestamp), + module.options.omitHeaders ? nil : FileHeaderHandler.header(for: file, timestamp: timestamp), FileHeaderHandler.imports(for: file, imports: module.imports, testableImports: module.testableImports), try GeneratorHelper.generate(tokens: file.tokens), ] diff --git a/Generator/Sources/CLI/Module.swift b/Generator/Sources/CLI/Module.swift index 42ee1f91..9d4dcabd 100644 --- a/Generator/Sources/CLI/Module.swift +++ b/Generator/Sources/CLI/Module.swift @@ -33,9 +33,9 @@ final class Module { self.options = Options( glob: dto.options?.glob ?? true, keepDocumentation: dto.options?.keepDocumentation ?? true, - noInheritance: dto.options?.noInheritance ?? false, - noClassMocking: dto.options?.noClassMocking ?? false, - noHeaders: dto.options?.noHeaders ?? false + enableInheritance: dto.options?.enableInheritance ?? true, + protocolsOnly: dto.options?.protocolsOnly ?? false, + omitHeaders: dto.options?.omitHeaders ?? false ) if let xcodeproj = dto.xcodeproj { @@ -61,9 +61,9 @@ final class Module { struct Options { let glob: Bool let keepDocumentation: Bool - let noInheritance: Bool - let noClassMocking: Bool - let noHeaders: Bool + let enableInheritance: Bool + let protocolsOnly: Bool + let omitHeaders: Bool } struct Xcodeproj { @@ -104,9 +104,9 @@ extension Module { struct Options: Decodable { let glob: Bool? let keepDocumentation: Bool? - let noInheritance: Bool? - let noClassMocking: Bool? - let noHeaders: Bool? + let enableInheritance: Bool? + let protocolsOnly: Bool? + let omitHeaders: Bool? } struct Xcodeproj: Decodable { @@ -139,9 +139,9 @@ extension Module.Options: CustomDebugStringConvertible { [ "glob: \(String(glob).bold)", "keep documentation: \(String(keepDocumentation).bold)", - "disabled inheritance: \(String(noInheritance).bold)", - "disabled class mocking: \(String(noClassMocking).bold)", - "disabled headers: \(String(noHeaders).bold)", + "enable inheritance: \(String(enableInheritance).bold)", + "protocols only: \(String(protocolsOnly).bold)", + "omit headers: \(String(omitHeaders).bold)", ] .compactMap { $0 } .joined(separator: "\n") diff --git a/README.md b/README.md index 3423ce41..deeac308 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ # Cuckoo ## Mock your Swift objects! -[![CI Status](https://img.shields.io/travis/Brightify/Cuckoo?style=flat)](https://travis-ci.org/Brightify/Cuckoo) [![Version](https://img.shields.io/cocoapods/v/Cuckoo.svg?style=flat)](http://cocoapods.org/pods/Cuckoo) [![SwiftPM compatible](https://img.shields.io/badge/SwiftPM-compatible-brightgreen?style=flat)](https://swift.org/package-manager) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-brightgreen?style=flat)](https://github.com/Carthage/Carthage) @@ -12,7 +11,7 @@ Cuckoo was created due to lack of a proper Swift mocking framework. We built the DSL to be very similar to [Mockito](http://mockito.org/), so anyone coming from Java/Android can immediately pick it up and use it. ## How does it work -Cuckoo has two parts. One is the [runtime](https://github.com/Brightify/Cuckoo) and the other one is an OS X command-line tool simply called [Cuckoonator](./Generator). +Cuckoo has two parts. One is the **runtime** and the other one is an OS X command-line tool simply called **Cuckoonator**. Unfortunately Swift does not have a proper reflection, so we decided to use a compile-time generator to go through files you specify and generate supporting structs/classes that will be used by the runtime in your test target. @@ -39,56 +38,39 @@ Due to the limitations mentioned above, unoverridable code structures are not su ## Requirements Cuckoo works on the following platforms: -- **iOS 11+** -- **Mac OSX 10.15+** -- **tvOS 11+** +- **iOS 13+** +- **Mac OSX 11+** +- **tvOS 13+** **watchOS** support is not yet possible due to missing XCTest library. -Note: Version `1.2.0` is the last one supporting **Swift 4.2**. Use versions `1.3.0`+ for **Swift 5** and up. - ## Cuckoo ### 1. Installation #### CocoaPods -Cuckoo runtime is available through [CocoaPods](http://cocoapods.org). To install it, simply add the following line to your test target in your Podfile: +Cuckoo runtime is available through [CocoaPods](http://cocoapods.org). To install it, simply add the following line to your **test target** in your Podfile: -```Ruby -pod 'Cuckoo' +```ruby +pod 'Cuckoo', '~> 2.0' ``` And add the following `Run script` build phase to your test target's `Build Phases` above the `Compile Sources` phase: -```Bash +```bash +# Skip for indexing if [ $ACTION == "indexbuild" ]; then - echo "Not running Cuckoo generator during indexing." exit 0 fi # Skip for preview builds if [ "${ENABLE_PREVIEWS}" = "YES" ]; then - echo "Not running Cuckoo generator during preview builds." exit 0 fi -# Define output file. Change "${PROJECT_DIR}/${PROJECT_NAME}Tests" to your test's root source folder, if it's not the default name. -OUTPUT_FILE="${PROJECT_DIR}/${PROJECT_NAME}Tests/GeneratedMocks.swift" -echo "Generated Mocks File = ${OUTPUT_FILE}" - -# Define input directory. Change "${PROJECT_DIR}/${PROJECT_NAME}" to your project's root source folder, if it's not the default name. -INPUT_DIR="${PROJECT_DIR}/${PROJECT_NAME}" -echo "Mocks Input Directory = ${INPUT_DIR}" - -# Generate mock files, include as many input files as you'd like to create mocks for. -"${PODS_ROOT}/Cuckoo/run" generate --testable "${PROJECT_NAME}" \ ---output "${OUTPUT_FILE}" \ -"${INPUT_DIR}/FileName1.swift" \ -"${INPUT_DIR}/FileName2.swift" \ -"${INPUT_DIR}/FileName3.swift" -# ... and so forth, the last line should never end with a backslash - -# After running once, locate `GeneratedMocks.swift` and drag it into your Xcode test target group. +"${PODS_ROOT}/Cuckoo/run" ``` +After running once, locate `GeneratedMocks.swift` and drag it into your Xcode test target group. + **IMPORTANT**: To make your mocking journey easier, make absolutely sure that the run script is above the `Compile Sources` phase. **NOTE**: To avoid race condition errors when Xcode parallelizes build phases, add the path of the `OUTPUT_FILE` into the "Output Files" section of the build phase. If you find that `OUTPUT_FILE` still doesn't regenerate with new changes, adding mocked files to the "Input Files" section of the build phase might help. @@ -104,18 +86,11 @@ Note: All paths in the Run script must be absolute. Variable `PROJECT_DIR` autom 1. In Xcode, navigate in menu: File > Swift Packages > Add Package Dependency 2. Add `https://github.com/Brightify/Cuckoo.git` -3. For the Dependency Rule, Select "Up to Next Major" with `1.10.3`. Click Add Package. +3. For the Dependency Rule, Select "Up to Next Major" with `2.0.0`. Click Add Package. 4. On the 'Choose Package Products for Cuckoo' dialog, under 'Add to Target', please ensure you select your Test target as it will not compile on the app target. 5. Click Add Package. -When you're all set, use the same `Run script` phase as above and replace -```bash -"${PODS_ROOT}/Cuckoo/run" -``` -with -```bash -"${BUILD_DIR}/Build/SourcePackages/checkouts/Cuckoo/run" -``` +When you're all set, go to your test target's Build Phases and add `CuckooPluginSingleFile` to the **Run Build Tool Plug-ins**. #### Carthage To use Cuckoo with [Carthage](https://github.com/Carthage/Carthage) add this line to your Cartfile: @@ -134,20 +109,52 @@ with Don't forget to add the Framework into your project. -### 2. Usage +### 2. Cuckoofile customization +At the root of your project, create `Cuckoofile.toml` configuration file: + +```toml +# You can define a fallback output for all modules that don't define their own. +output = "Tests/Swift/Generated/GeneratedMocks.swift" + +[modules.MyProject] +output = "Tests/Swift/Generated/GeneratedMocks+MyProject.swift" +imports = ["Foundation"] +testableImports = ["RxSwift"] +sources = [ + "Tests/Swift/Source/*.swift", +] +exclude = ["ExcludedTestClass"] +# Optionally you can use a regular expression to filter only specific classes/protocols. +regex = "" + +[modules.MyProject.options] +# glob = false +# Docstrings are preserved by default, comments are omitted. +keepDocumentation = false +# enableInheritance = false +# protocolsOnly = true +# omitHeaders = true + +# If specified, Cuckoo can also get sources for the module from an Xcode target. +[modules.MyProject.xcodeproj] +path = "Generator" +target = "Cuckoonator" +``` + +### 3. Usage Usage of Cuckoo is similar to [Mockito](http://mockito.org/) and [Hamcrest](http://hamcrest.org/). However, there are some differences and limitations caused by generating the mocks and Swift language itself. List of all the supported features can be found below. You can find complete examples in [tests](Tests). #### Mock initialization Mocks can be created with the same constructors as the mocked type. Name of mock class always corresponds to the name of the mocked class/protocol with `Mock` prefix (e.g. mock of protocol `Greeter` is called `MockGreeter`). -```Swift +```swift let mock = MockGreeter() ``` #### Spy Spies are a special type of Mocks where each call is forwarded to the victim by default. When you need a spy, give Cuckoo a class, then you'll then be able to call `enableSuperclassSpy()` (or `withEnabledSuperclassSpy()`) on a mock instance and it will behave like a spy for the parent class. -```Swift +```swift let spy = MockGreeter().withEnabledSuperclassSpy() ``` @@ -158,7 +165,7 @@ Note: It is currently possible for the subbing object to escape from the closure After calling the `when` function you can specify what to do next with following methods: -```Swift +```swift /// Invokes `implementation` when invoked. then(_ implementation: IN throws -> OUT) @@ -179,7 +186,7 @@ The available methods depend on the stubbed method characteristics. For example, An example of stubbing a method looks like this: -```Swift +```swift stub(mock) { stub in when(stub.greetWithMessage("Hello world")).then { message in print(message) @@ -189,7 +196,7 @@ stub(mock) { stub in As for a property: -```Swift +```swift stub(mock) { stub in when(stub.readWriteProperty.get).thenReturn(10) when(stub.readWriteProperty.set(anyInt())).then { @@ -205,14 +212,14 @@ In addition to stubbing, you can enable default implementation using an instance Enabling the default implementation is achieved by simply calling the provided method: -```Swift +```swift let original = OriginalClass(value: 12) mock.enableDefaultImplementation(original) ``` For passing classes into the method, nothing changes whether you're mocking a class or a protocol. However, there is a difference if you're using a `struct` to conform to the original protocol we are mocking: -```Swift +```swift let original = ConformingStruct(value: "Hello, Cuckoo!") mock.enableDefaultImplementation(original) // or if you need to track changes: @@ -228,13 +235,13 @@ We recommend using the non-mutating method for enabling default implementation u ##### Chain stubbing It is possible to chain stubbing. This is useful for when you need to define different behavior for multiple calls in order. The last behavior will be used for all calls after that. The syntax goes like this: -```Swift +```swift when(stub.readWriteProperty.get).thenReturn(10).thenReturn(20) ``` which is equivalent to: -```Swift +```swift when(stub.readWriteProperty.get).thenReturn(10, 20) ``` @@ -245,7 +252,7 @@ You can combine the stubbing methods as you like. ##### Overriding of stubbing When looking for stub match Cuckoo gives the highest priority to the last call of `when`. This means that calling `when` multiple times with the same function and matchers effectively overrides the previous call. Also more general parameter matchers have to be used before specific ones. -```Swift +```swift when(stub.countCharacters(anyString())).thenReturn(10) when(stub.countCharacters("a")).thenReturn(1) ``` @@ -260,7 +267,7 @@ Note: Call on mock which wasn't stubbed will cause an error. In case of a spy, t #### Verification For verifying calls there is function `verify`. Its first parameter is the mocked object, optional second parameter is the call matcher. Then the call with its parameters follows. -```Swift +```swift verify(mock).greetWithMessage("Hello world") ``` @@ -270,7 +277,7 @@ You can check if there are no more interactions on mock with function `verifyNoM With Swift's generic types, it is possible to use a generic parameter as the return type. To properly verify these methods, you need to be able to specify the return type. -```Swift +```swift // Given: func genericReturn(for: String) -> T? { ... } @@ -281,7 +288,7 @@ verify(mock).genericReturn(for: any()).with(returnType: String?.self) ##### Argument capture You can use `ArgumentCaptor` to capture arguments in verification of calls (doing that in stubbing is not recommended). Here is an example code: -```Swift +```swift mock.readWriteProperty = 10 mock.readWriteProperty = 20 mock.readWriteProperty = 30 @@ -341,7 +348,7 @@ For details or an example (with Alamofire), see [this issue](https://github.com/ #### Parameter matchers `ParameterMatcher` itself also conforms to `Matchable`. You can create your own `ParameterMatcher` instances or if you want to directly use your custom types there is the `Matchable` protocol. Standard instances of `ParameterMatcher` can be obtained via these functions: -```Swift +```swift /// Returns an equality matcher. equal(to value: T) @@ -374,7 +381,7 @@ Cuckoo also provides plenty of convenience matchers for sequences and dictionari `Matchable` can be chained with methods `or` and `and` like so: -```Swift +```swift verify(mock).greetWithMessage("Hello world".or("Hallo Welt")) ``` @@ -385,7 +392,7 @@ Note: Call matchers are applied after the parameter matchers. So you get only st Standard call matchers are: -```Swift +```swift /// Returns a matcher ensuring a call was made `count` times. times(_ count: Int) @@ -407,7 +414,7 @@ As with `Matchable` you can chain `CallMatcher` with methods `or` and `and`. How #### Resetting mocks Following functions are used to reset stubbing and/or invocations on mocks. -```Swift +```swift /// Clears all invocations and stubs of given mocks. reset(_ mocks: M...) @@ -421,7 +428,7 @@ clearInvocations(_ mocks: M...) #### Stub objects Stubs are used for suppressing real code. Stubs are different from Mocks in that they don't support stubbing nor verification. They can be created with the same constructors as the mocked type. Name of stub class always corresponds to name of the mocked class/protocol with `Stub` suffix (e.g. stub of protocol `Greeter` is called `GreeterStub`). -```Swift +```swift let stub = GreeterStub() ``` @@ -435,7 +442,7 @@ When a method is called or a property accessed/set on a stub, nothing happens. I ##### Type inference Cuckoo does a simple type inference on all variables which allows for much cleaner source code on your side. There are a total 3 ways the inference tries to extract the type name from a variable: -```Swift +```swift // From the explicitly declared type: let constant1: MyType @@ -446,97 +453,30 @@ let constant2 = MyType(...) let constant3 = anything as MyType ``` -## Cuckoo generator -### Installation -For normal use you can skip this because the [run script](run) downloads or builds the correct version of the generator automatically. - -#### Custom -So you have chosen a more complicated path. You can clone this repository and build it yourself. Take a look at the [run script](run) for more inspiration. - -### Usage -Generator can be executed manually through the terminal. Each call consists of build options, a command, generator options, and arguments. Options and arguments depend on the command used. Options can have additional parameters. Names of all of them are case sensitive. The order goes like this: - -``` -cuckoo build_options command generator_options arguments -``` - +## Cuckoo run script #### Build Options These options are only used for downloading or building the generator and don't interfere with the result of the generated mocks. -When the [run script](run) is executed without any build options (they are only valid when specified **BEFORE** the `command`), it simply searches for the `cuckoonator` file and builds it from source code if it's missing. +When the [run script](run) is executed without any parameters, it simply searches for the `cuckoonator` file and builds it from source code if it's missing, running the generator afterwards. -To download the generator from GitHub instead of building it, use the `--download [version]` option as the first argument (i.e. `run --download generate ...` or `run --download 1.5.0 generate ...` to fetch a specific version). If you're having issues with rather long build time (especially in CI), this might be the way to fix it. +To download the generator from GitHub instead of building it, use the `--download` option as the first argument (i.e. `run --download`). If you're having issues with rather long build time (especially in CI), this might be the way to fix it. **NOTE**: If you encounter Github API rate limit using the `--download` option, the [run script](run) refers to the environment variable `GITHUB_ACCESS_TOKEN`. Add this line (replacing the Xs with your [GitHub token](https://github.com/settings/tokens), no additional permissions are needed) to the script build phase above the `run` call: -```Bash +```bash export GITHUB_ACCESS_TOKEN="XXXXXXX" ``` -The build option `--clean` forces either build or download of the version specified even if the generator is present. At the moment the [run script](run) doesn't enforce the generator version to be the same as the Cuckoo version. We recommend using this option after updating Cuckoo as well as if you're having mysterious compile errors in the generated mocks. Please try to use this option first to verify that your generator isn't outdated before filing an issue about incorrectly generated mocks. +The build option `--clean` forces either build or download of the version specified even if the generator is present. +The run script also syncs the generator to the correct version (either by building from source or downloading with `--download`) if needed. We recommend only using `--clean` when you're trying to fix a compile problem as it forces the build (or download) every time which makes the testing way longer than it needs to be. -#### Generator commands -##### `generate` command -Generates mock files. - -This command accepts options that can be used to adjust the behavior of the generator, these are listed below. - -After the options come arguments, in this case a list (separated by spaces) of files for which you want to generate mocks or that are required for correct inheritance mocking. - -###### `--output` (string) -Absolute path to where the generated mocks will be stored. - -If a path to a directory is supplied, each input file will be mapped to its own output file with mocks. - -If a path to a file is supplied, all mocks will be generated into this single file. - -The default value is `GeneratedMocks.swift`. - -###### `--testable` (string)[,(string)...] -A comma separated list of frameworks that should be imported as @testable in the mock files. - -###### `--exclude` (string)[,(string)...] -A comma separated list of classes and protocols that should be skipped during mock generation. - -###### `--no-header` -Do not generate file headers. - -###### `--no-timestamp` -Do not generate timestamp. - -###### `--no-inheritance` -Do not mock/stub parents and grandparents. - -###### `--file-prefix` (string) -Names of generated files in directory will start with this prefix. Only works when output path is directory. - -###### `--no-class-mocking` -Do not generate mocks for classes. - -###### `--regex` (string) -A regular expression pattern that is used to match Classes and Protocols. All that do not match are excluded. Can be used alongside `--exclude` in which case the `--exclude` has higher priority. - -###### `-g` or `--glob` -Activate [glob](https://en.wikipedia.org/wiki/Glob_(programming)) parsing for specified input paths. - -###### `-d` or `--debug` -Run generator in debug mode. There is more info output as well as included in the generated mocks (e.g. method parameter info). - -#### `version` command -Prints the version of this generator. - -#### `help` command -Display general or command-specific help. - -After the `help` command you can specify the name of another command for displaying command-specific information. - ## Objective-C Support Cuckoo subspec `Cuckoo/OCMock` brings support for mocking Objective-C classes and protocols. Example usage: -```Swift +```swift let tableView = UITableView() // stubbing the class is very similar to stubbing with Cuckoo let mock = objcStub(for: UITableViewController.self) { stubber, mock in @@ -560,7 +500,7 @@ objcVerify(mock.tableView(tableView, accessoryButtonTappedForRowWith: IndexPath( Detailed usage is available in Cuckoo tests along with DOs and DON'Ts of this Swift-ObjC bridge. So far, only CocoaPods is supported. To install, simply add this line to your `Podfile`: -```Ruby +```ruby pod 'Cuckoo/OCMock' ``` @@ -576,7 +516,7 @@ Cuckoo is open for everyone and we'd like you to help us make the best Swift moc The project consists of two parts - runtime and code generator. When you open the `Cuckoo.xcworkspace` in Xcode, you'll see these directories: - `Source` - runtime sources - `Tests` - tests for the runtime part - - `CuckoGenerator.xcodeproj` - project containing Generator source code (use the `cuckoonator` scheme) + - `Generator.xcodeproj` - project containing generator source code (use the `Generator` scheme) Thank you for your help! @@ -585,9 +525,8 @@ Thank you for your help! - [Hamcrest](http://hamcrest.org/) - Matcher API ## Used libraries -- [Commandant](https://github.com/Carthage/Commandant) +- [ArgumentParser](https://github.com/apple/swift-argument-parser) - [FileKit](https://github.com/nvzqz/FileKit) -- [SourceKitten](https://github.com/jpsim/SourceKitten) - [SwiftSyntax](https://github.com/apple/swift-syntax) ## License diff --git a/Tuist/ProjectDescriptionHelpers/PlatformType.swift b/Tuist/ProjectDescriptionHelpers/PlatformType.swift index c44f482b..4ccc6ca8 100644 --- a/Tuist/ProjectDescriptionHelpers/PlatformType.swift +++ b/Tuist/ProjectDescriptionHelpers/PlatformType.swift @@ -19,11 +19,11 @@ public enum PlatformType: String { public var libraryDeploymentTarget: DeploymentTarget { switch self { case .iOS: - return .iOS(targetVersion: "11.0", devices: [.iphone, .ipad]) + return .iOS(targetVersion: "13.0", devices: [.iphone, .ipad]) case .macOS: return .macOS(targetVersion: "10.15") case .tvOS: - return .tvOS(targetVersion: "11.0") + return .tvOS(targetVersion: "13.0") } } diff --git a/run b/run index aa98cdb0..bbd53384 100755 --- a/run +++ b/run @@ -1,10 +1,13 @@ #!/usr/bin/env bash SCRIPT_PATH="$(cd "$(dirname "$0")" && pwd)" -FILE_NAME="cuckoonator" -FILE_PATH="$SCRIPT_PATH/$FILE_NAME" +GENERATOR_NAME="cuckoonator" +GENERATOR_PATH="$SCRIPT_PATH/$GENERATOR_NAME" GREP_OPTIONS="" +echo "Script path: $SCRIPT_PATH" +echo "Generator path: $GENERATOR_PATH" + function download_generator { echo "Downloading generator version $1..." if [[ ! -z "$GITHUB_ACCESS_TOKEN" ]]; then @@ -12,16 +15,16 @@ function download_generator { fi URL="https://api.github.com/repos/Brightify/Cuckoo/releases/tags/$1" - DOWNLOAD_URL=$(curl "${CURL_OPTIONS[@]}" "$URL" | grep -oe '"browser_download_url":\s*"[^" ]*"' | grep -oe 'http[^" ]*' | grep "$FILE_NAME" | head -1) + DOWNLOAD_URL=$(curl "${CURL_OPTIONS[@]}" "$URL" | grep -oe '"browser_download_url":\s*"[^" ]*"' | grep -oe 'http[^" ]*' | grep "$GENERATOR_NAME" | head -1) if [[ -z "$DOWNLOAD_URL" ]]; then echo "Error: Failed to fetch download URL for the Cuckoo Generator." exit 1 else echo "Downloading Cuckoo Generator from URL: $DOWNLOAD_URL" - curl "${CURL_OPTIONS[@]}" -Lo "$FILE_PATH" "$DOWNLOAD_URL" + curl "${CURL_OPTIONS[@]}" -Lo "$GENERATOR_PATH" "$DOWNLOAD_URL" fi - chmod +x "$FILE_NAME" + chmod +x "$GENERATOR_NAME" } function get_generator { @@ -36,7 +39,7 @@ function get_generator { echo "Build seems to have failed for some reason. Please file an issue on GitHub." exit 1 fi - mv "$SCRIPT_PATH/Generator/bin/$FILE_NAME" "$FILE_PATH" + mv "$SCRIPT_PATH/Generator/bin/$GENERATOR_NAME" "$GENERATOR_PATH" else echo "Couldn't build generator – source code not found. (expected in the 'Generator' directory)" echo "Pass the --download option to fetch the binary from GitHub." @@ -61,8 +64,6 @@ function ver_lt { [[ $(ver_cmp "$1" "$2") -eq -1 ]] } -echo "Script path: $SCRIPT_PATH" - # parse arguments POSITIONAL=() while [[ $# -gt 0 ]]; do @@ -79,34 +80,18 @@ case $1 in ;; *) - POSITIONAL+=("$1") # save it in an array for later + POSITIONAL+=("$1") shift ;; esac; done -set -- "${POSITIONAL[@]}" # restore positional parameters +set -- "${POSITIONAL[@]}" LIB_VERSION=$( 0 ]]; then - INPUT_FILES=$(printf '%q ' "$@") -fi - -if [[ -z "$SCRIPT_INPUT_FILE_COUNT" ]]; then - SCRIPT_INPUT_FILE_COUNT=0 -fi - -for (( i=0; i<"$SCRIPT_INPUT_FILE_COUNT"; i++ )); do - INPUT_FILE="SCRIPT_INPUT_FILE_$i" - INPUT_FILES+=" $(printf '%q' "${!INPUT_FILE}")" -done - -echo $INPUT_FILES | xargs "$FILE_PATH" +"$GENERATOR_PATH" $@