diff --git a/clang/include/clang/Basic/DiagnosticInstallAPIKinds.td b/clang/include/clang/Basic/DiagnosticInstallAPIKinds.td index 27df731fa2862..a4c6e630ac5fd 100644 --- a/clang/include/clang/Basic/DiagnosticInstallAPIKinds.td +++ b/clang/include/clang/Basic/DiagnosticInstallAPIKinds.td @@ -15,9 +15,6 @@ let CategoryName = "Command line" in { def err_cannot_write_file : Error<"cannot write file '%0': %1">; def err_no_install_name : Error<"no install name specified: add -install_name ">; def err_no_output_file: Error<"no output file specified">; -def err_no_such_header_file : Error<"no such %select{public|private|project}1 header file: '%0'">; -def warn_no_such_excluded_header_file : Warning<"no such excluded %select{public|private}0 header file: '%1'">, InGroup; -def warn_glob_did_not_match: Warning<"glob '%0' did not match any header file">, InGroup; } // end of command line category. let CategoryName = "Verification" in { diff --git a/clang/include/clang/InstallAPI/HeaderFile.h b/clang/include/clang/InstallAPI/HeaderFile.h index 235b4da3add84..70e83bbb3e76f 100644 --- a/clang/include/clang/InstallAPI/HeaderFile.h +++ b/clang/include/clang/InstallAPI/HeaderFile.h @@ -13,9 +13,7 @@ #ifndef LLVM_CLANG_INSTALLAPI_HEADERFILE_H #define LLVM_CLANG_INSTALLAPI_HEADERFILE_H -#include "clang/Basic/FileManager.h" #include "clang/Basic/LangStandard.h" -#include "clang/InstallAPI/MachO.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/Regex.h" @@ -58,10 +56,6 @@ class HeaderFile { std::string IncludeName; /// Supported language mode for header. std::optional Language; - /// Exclude header file from processing. - bool Excluded{false}; - /// Add header file to processing. - bool Extra{false}; public: HeaderFile() = delete; @@ -77,48 +71,17 @@ class HeaderFile { StringRef getIncludeName() const { return IncludeName; } StringRef getPath() const { return FullPath; } - void setExtra(bool V = true) { Extra = V; } - void setExcluded(bool V = true) { Excluded = V; } - bool isExtra() const { return Extra; } - bool isExcluded() const { return Excluded; } - bool useIncludeName() const { return Type != HeaderType::Project && !IncludeName.empty(); } bool operator==(const HeaderFile &Other) const { - return std::tie(Type, FullPath, IncludeName, Language, Excluded, Extra) == + return std::tie(Type, FullPath, IncludeName, Language) == std::tie(Other.Type, Other.FullPath, Other.IncludeName, - Other.Language, Other.Excluded, Other.Extra); + Other.Language); } }; -/// Glob that represents a pattern of header files to retreive. -class HeaderGlob { -private: - std::string GlobString; - llvm::Regex Rule; - HeaderType Type; - bool FoundMatch{false}; - -public: - HeaderGlob(StringRef GlobString, llvm::Regex &&, HeaderType Type); - - /// Create a header glob from string for the header access level. - static llvm::Expected> - create(StringRef GlobString, HeaderType Type); - - /// Query if provided header matches glob. - bool match(const HeaderFile &Header); - - /// Query if a header was matched in the glob, used primarily for error - /// reporting. - bool didMatch() { return FoundMatch; } - - /// Provide back input glob string. - StringRef str() { return GlobString; } -}; - /// Assemble expected way header will be included by clients. /// As in what maps inside the brackets of `#include ` /// For example, @@ -130,19 +93,6 @@ class HeaderGlob { std::optional createIncludeHeaderName(const StringRef FullPath); using HeaderSeq = std::vector; -/// Determine if Path is a header file. -/// It does not touch the file system. -/// -/// \param Path File path to file. -bool isHeaderFile(StringRef Path); - -/// Given input directory, collect all header files. -/// -/// \param FM FileManager for finding input files. -/// \param Directory Path to directory file. -llvm::Expected enumerateFiles(clang::FileManager &FM, - StringRef Directory); - } // namespace clang::installapi #endif // LLVM_CLANG_INSTALLAPI_HEADERFILE_H diff --git a/clang/include/clang/InstallAPI/MachO.h b/clang/include/clang/InstallAPI/MachO.h index 4961c596fd68a..f0dea8bbd24cc 100644 --- a/clang/include/clang/InstallAPI/MachO.h +++ b/clang/include/clang/InstallAPI/MachO.h @@ -40,7 +40,6 @@ using SymbolSet = llvm::MachO::SymbolSet; using SimpleSymbol = llvm::MachO::SimpleSymbol; using FileType = llvm::MachO::FileType; using PackedVersion = llvm::MachO::PackedVersion; -using PathSeq = llvm::MachO::PathSeq; using Target = llvm::MachO::Target; using TargetList = llvm::MachO::TargetList; diff --git a/clang/lib/InstallAPI/Frontend.cpp b/clang/lib/InstallAPI/Frontend.cpp index e07ccb14e0b80..12cd5fcbc22bf 100644 --- a/clang/lib/InstallAPI/Frontend.cpp +++ b/clang/lib/InstallAPI/Frontend.cpp @@ -138,8 +138,6 @@ std::unique_ptr createInputBuffer(InstallAPIContext &Ctx) { SmallString<4096> Contents; raw_svector_ostream OS(Contents); for (const HeaderFile &H : Ctx.InputHeaders) { - if (H.isExcluded()) - continue; if (H.getType() != Ctx.Type) continue; if (Ctx.LangMode == Language::C || Ctx.LangMode == Language::CXX) diff --git a/clang/lib/InstallAPI/HeaderFile.cpp b/clang/lib/InstallAPI/HeaderFile.cpp index 0b7041ec8147e..c2d8372741ee0 100644 --- a/clang/lib/InstallAPI/HeaderFile.cpp +++ b/clang/lib/InstallAPI/HeaderFile.cpp @@ -7,7 +7,6 @@ //===----------------------------------------------------------------------===// #include "clang/InstallAPI/HeaderFile.h" -#include "llvm/TextAPI/Utils.h" using namespace llvm; namespace clang::installapi { @@ -35,54 +34,4 @@ std::optional createIncludeHeaderName(const StringRef FullPath) { return Matches[1].drop_front(Matches[1].rfind('/') + 1).str() + "/" + Matches[3].str(); } - -bool isHeaderFile(StringRef Path) { - return StringSwitch(sys::path::extension(Path)) - .Cases(".h", ".H", ".hh", ".hpp", ".hxx", true) - .Default(false); -} - -llvm::Expected enumerateFiles(FileManager &FM, StringRef Directory) { - PathSeq Files; - std::error_code EC; - auto &FS = FM.getVirtualFileSystem(); - for (llvm::vfs::recursive_directory_iterator i(FS, Directory, EC), ie; - i != ie; i.increment(EC)) { - if (EC) - return errorCodeToError(EC); - - // Skip files that do not exist. This usually happens for broken symlinks. - if (FS.status(i->path()) == std::errc::no_such_file_or_directory) - continue; - - StringRef Path = i->path(); - if (isHeaderFile(Path)) - Files.emplace_back(Path); - } - - return Files; -} - -HeaderGlob::HeaderGlob(StringRef GlobString, Regex &&Rule, HeaderType Type) - : GlobString(GlobString), Rule(std::move(Rule)), Type(Type) {} - -bool HeaderGlob::match(const HeaderFile &Header) { - if (Header.getType() != Type) - return false; - - bool Match = Rule.match(Header.getPath()); - if (Match) - FoundMatch = true; - return Match; -} - -Expected> HeaderGlob::create(StringRef GlobString, - HeaderType Type) { - auto Rule = MachO::createRegexFromGlob(GlobString); - if (!Rule) - return Rule.takeError(); - - return std::make_unique(GlobString, std::move(*Rule), Type); -} - } // namespace clang::installapi diff --git a/clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI1.h b/clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI1.h deleted file mode 100644 index 83a5b9507de30..0000000000000 --- a/clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI1.h +++ /dev/null @@ -1 +0,0 @@ -extern int extraGlobalAPI1; diff --git a/clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI2.h b/clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI2.h deleted file mode 100644 index 34fe3364bba84..0000000000000 --- a/clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI2.h +++ /dev/null @@ -1 +0,0 @@ -extern int extraGlobalAPI2; diff --git a/clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Basic.h b/clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Basic.h deleted file mode 100644 index 08412bb2de283..0000000000000 --- a/clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Basic.h +++ /dev/null @@ -1,103 +0,0 @@ -#import - -// Basic class with no super class -@interface Basic1 -@end - -@interface Basic2 : NSObject -@end - -@interface Basic3 : NSObject -@property BOOL property1; -@property(readonly) BOOL property2; -@property(getter=isProperty3) BOOL property3; -@property BOOL dynamicProp; -@end - -@interface Basic4 : NSObject { -@public - BOOL ivar1; -@protected - BOOL ivar2; -@package - BOOL ivar3; -@private - BOOL ivar4; -} -@end - -__attribute__((visibility("hidden"))) @interface Basic4_1 : NSObject { -@public - BOOL ivar1; -@protected - BOOL ivar2; -@package - BOOL ivar3; -@private - BOOL ivar4; -} -@end - -@interface Basic4_2 : NSObject { -@private - BOOL ivar4; -@package - BOOL ivar3; -@protected - BOOL ivar2; -@public - BOOL ivar1; -} -@end - -@interface Basic5 : NSObject -+ (void)aClassMethod; -- (void)anInstanceMethod; -@end - -@interface Basic6 : NSObject -@end - -@interface Basic6 () { -@public - BOOL ivar1; -} -@property BOOL property1; -- (void)anInstanceMethodFromAnExtension; -@end - -@interface Basic6 (Foo) -@property BOOL property2; -- (void)anInstanceMethodFromACategory; -@end - -__attribute__((visibility("hidden"))) -@interface Basic7 : NSObject -@end - -@interface Basic7 () -- (void) anInstanceMethodFromAnHiddenExtension; -@end - -@interface Basic8 : NSObject -+ (void)useSameName; -@end - -// Classes and protocols can have the same name. For now they would only clash -// in the selector map if the protocl starts with '_'. -@protocol _A -- (void)aMethod; -@end - -@interface A : NSObject -- (void)aMethod NS_AVAILABLE(10_11, 9_0); -- (void)bMethod NS_UNAVAILABLE; -@end - -@interface Basic9 : NSObject -@property(readonly) BOOL aProperty NS_AVAILABLE(10_10, 8_0); -@end - -@interface Basic9 (deprecated) -@property(readwrite) BOOL aProperty NS_DEPRECATED_MAC(10_8, 10_10); -@end diff --git a/clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/External.h b/clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/External.h deleted file mode 100644 index 5dc3c92f34c24..0000000000000 --- a/clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/External.h +++ /dev/null @@ -1,19 +0,0 @@ -#import - -// Sub-class an external defined ObjC Class. -@interface ExternalManagedObject : NSManagedObject -- (void)foo; -@end - -// Add category to external defined ObjC Class. -@interface NSManagedObject (Simple) -- (int)supportsSimple; -@end - -// CoreData Accessors are dynamically generated and have no implementation. -@interface ExternalManagedObject (CoreDataGeneratedAccessors) -- (void)addChildObject:(ExternalManagedObject *)value; -- (void)removeChildObject:(ExternalManagedObject *)value; -- (void)addChild:(NSSet *)values; -- (void)removeChild:(NSSet *)values; -@end diff --git a/clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h b/clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h deleted file mode 100644 index 12c77098a8d9a..0000000000000 --- a/clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h +++ /dev/null @@ -1,45 +0,0 @@ -#import - -// Useless forward declaration. This is used for testing. -@class FooBar; -@protocol FooProtocol; - -@protocol ForwardProcotol; - -// Test public global. -extern int publicGlobalVariable; - -// Test weak public global. -extern int weakPublicGlobalVariable __attribute__((weak)); - -// Test public ObjC class -@interface Simple : NSObject -@end - -__attribute__((objc_exception)) -@interface Base : NSObject -@end - -@interface SubClass : Base -@end - -@protocol BaseProtocol -- (void) baseMethod; -@end - -NS_AVAILABLE(10_11, 9_0) -@protocol FooProtocol -- (void) protocolMethod; -@end - -@protocol BarProtocol -- (void) barMethod; -@end - -@interface FooClass -@end - -// Create an empty category conforms to a forward declared protocol. -// -@interface FooClass (Test) -@end diff --git a/clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/SimpleAPI.h b/clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/SimpleAPI.h deleted file mode 100644 index d953fac966daf..0000000000000 --- a/clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/SimpleAPI.h +++ /dev/null @@ -1 +0,0 @@ -extern int otherFrameworkAPI; diff --git a/clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivate.h b/clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivate.h deleted file mode 100644 index 5a28cda3928e3..0000000000000 --- a/clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivate.h +++ /dev/null @@ -1,5 +0,0 @@ -// Test private global variable. -extern int privateGlobalVariable; - -// Test weak private global. -extern int weakPrivateGlobalVariable __attribute__((weak)); diff --git a/clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivateSPI.h b/clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivateSPI.h deleted file mode 100644 index c9aca30fa82fa..0000000000000 --- a/clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivateSPI.h +++ /dev/null @@ -1,2 +0,0 @@ -// Test private global variable. -extern int otherFrameworkSPI; diff --git a/clang/test/InstallAPI/Inputs/Simple/Simple.yaml b/clang/test/InstallAPI/Inputs/Simple/Simple.yaml deleted file mode 100644 index 998e51f1a67dc..0000000000000 --- a/clang/test/InstallAPI/Inputs/Simple/Simple.yaml +++ /dev/null @@ -1,3196 +0,0 @@ ---- !mach-o -FileHeader: - magic: 0xFEEDFACF - cputype: 0x1000007 - cpusubtype: 0x3 - filetype: 0x6 - ncmds: 15 - sizeofcmds: 1952 - flags: 0x118085 - reserved: 0x0 -LoadCommands: - - cmd: LC_SEGMENT_64 - cmdsize: 472 - segname: __TEXT - vmaddr: 0 - vmsize: 12288 - fileoff: 0 - filesize: 12288 - maxprot: 5 - initprot: 5 - nsects: 5 - flags: 0 - Sections: - - sectname: __text - segname: __TEXT - addr: 0x1BC0 - size: 180 - offset: 0x1BC0 - align: 0 - reloff: 0x0 - nreloc: 0 - flags: 0x80000400 - reserved1: 0x0 - reserved2: 0x0 - reserved3: 0x0 - content: 554889E50FBE47085DC3554889E58857085DC3554889E50FBE47095DC3554889E50FBE470A5DC3554889E588570A5DC3554889E55DC3554889E55DC3554889E55DC3554889E50FBE47095DC3554889E58857095DC3554889E5B8010000005DC3554889E55DC3554889E55DC3554889E55DC3554889E55DC3554889E5B0015DC3554889E55DC3554889E55DC3554889E55DC3554889E50FBE47085DC3554889E55DC3554889E55DC3554889E55DC3554889E55DC3 - - sectname: __cstring - segname: __TEXT - addr: 0x1C74 - size: 296 - offset: 0x1C74 - align: 0 - reloff: 0x0 - nreloc: 0 - flags: 0x2 - reserved1: 0x0 - reserved2: 0x0 - reserved3: 0x0 - content: 53696D706C65004261736500537562436C6173730053696D706C65496E7465726E616C4150490053696D706C65496E7465726E616C53504900426173696331004261736963320042617369633300426173696334004261736963345F31004261736963345F32004261736963350042617369633600466F6F004261736963370045787465726E616C4D616E616765644F626A6563740048696464656E436C61737300426173696338004100426173696339006465707265636174656400466F6F436C61737300466F6F50726F746F636F6C004261736550726F746F636F6C0042617250726F746F636F6C0050726976617465005072697661746550726F746F636F6C0063313640303A380076323040303A3863313600630076313640303A380042313640303A3800 - - sectname: __objc_methname - segname: __TEXT - addr: 0x1D9C - size: 450 - offset: 0x1D9C - align: 0 - reloff: 0x0 - nreloc: 0 - flags: 0x2 - reserved1: 0x0 - reserved2: 0x0 - reserved3: 0x0 - content: 70726F7065727479310073657450726F7065727479313A0070726F70657274793200697350726F7065727479330073657450726F7065727479333A0070726F7065727479330054632C5670726F7065727479310054632C522C5670726F7065727479320054632C47697350726F7065727479332C5670726F7065727479330064796E616D696350726F700054632C440069766172310069766172320069766172330069766172340061436C6173734D6574686F6400616E496E7374616E63654D6574686F6400616E496E7374616E63654D6574686F6446726F6D416E457874656E73696F6E0073657450726F7065727479323A00616E496E7374616E63654D6574686F6446726F6D4143617465676F727900546300616E496E7374616E63654D6574686F6446726F6D416E48696464656E457874656E73696F6E00666F6F00737570706F72747353696D706C650075736553616D654E616D6500614D6574686F64006150726F7065727479005F6150726F70657274790054632C522C565F6150726F706572747900626173654D6574686F640070726F746F636F6C4D6574686F64006261724D6574686F64007072697661746550726F636F746F6C4D6574686F6400 - - sectname: __unwind_info - segname: __TEXT - addr: 0x1F60 - size: 4152 - offset: 0x1F60 - align: 2 - reloff: 0x0 - nreloc: 0 - flags: 0x0 - reserved1: 0x0 - reserved2: 0x0 - reserved3: 0x0 - content: 010000001C000000010000002000000000000000200000000200000000000001C01B00003800000038000000741C00000000000038000000030000000C0001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 - - sectname: __eh_frame - segname: __TEXT - addr: 0x2F98 - size: 24 - offset: 0x2F98 - align: 3 - reloff: 0x0 - nreloc: 0 - flags: 0x6000000B - reserved1: 0x0 - reserved2: 0x0 - reserved3: 0x0 - content: 1400000000000000017A520001781001100C070890010000 - - cmd: LC_SEGMENT_64 - cmdsize: 792 - segname: __DATA - vmaddr: 12288 - vmsize: 8192 - fileoff: 12288 - filesize: 8192 - maxprot: 3 - initprot: 3 - nsects: 9 - flags: 0 - Sections: - - sectname: __objc_const - segname: __DATA - addr: 0x3000 - size: 4952 - offset: 0x3000 - align: 3 - reloff: 0x0 - nreloc: 0 - flags: 0x0 - reserved1: 0x0 - reserved2: 0x0 - reserved3: 0x0 - content: 010000002800000028000000000000000000000000000000741C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000008000000000000000000000000000000741C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000028000000280000000000000000000000000000007B1C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000008000000080000000000000000000000000000007B1C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000007B1C000000000000D043000000000000010000002800000028000000000000000000000000000000801C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000800000008000000000000000000000000000000801C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000801C0000000000002044000000000000010000002800000028000000000000000000000000000000891C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000800000008000000000000000000000000000000891C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000891C00000000000070440000000000000100000028000000280000000000000000000000000000009B1C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000008000000080000000000000000000000000000009B1C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000009B1C000000000000C044000000000000030000002800000028000000000000000000000000000000AD1C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000AD1C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000002800000028000000000000000000000000000000B41C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000008000000000000000000000000000000B41C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000002800000028000000000000000000000000000000BB1C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000050000009C1D000000000000771D000000000000C01B000000000000A61D0000000000007F1D000000000000CA1B000000000000B41D000000000000771D000000000000D31B000000000000BE1D000000000000771D000000000000DD1B000000000000CA1D0000000000007F1D000000000000E71B000000000000200000000300000098490000000000009C1D0000000000008A1D0000000000000000000001000000A049000000000000B41D0000000000008A1D0000000000000000000001000000A849000000000000D81D0000000000008A1D000000000000000000000100000010000000040000009C1D000000000000E21D000000000000B41D000000000000F01D000000000000D81D000000000000001E0000000000001B1E000000000000271E00000000000000000000080000000B000000000000000000000000000000BB1C00000000000098340000000000000000000000000000183500000000000000000000000000008035000000000000010000002800000028000000000000000000000000000000C21C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000004000000B0490000000000002C1E0000000000008A1D0000000000000000000001000000B849000000000000321E0000000000008A1D0000000000000000000001000000C049000000000000381E0000000000008A1D0000000000000000000001000000C8490000000000003E1E0000000000008A1D000000000000000000000100000000000000080000000C000000000000000000000000000000C21C00000000000000000000000000000000000000000000583600000000000000000000000000000000000000000000110000002800000028000000000000000000000000000000C91C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000004000000D0490000000000002C1E0000000000008A1D0000000000000000000001000000D849000000000000321E0000000000008A1D0000000000000000000001000000E049000000000000381E0000000000008A1D0000000000000000000001000000E8490000000000003E1E0000000000008A1D000000000000000000000100000010000000080000000C000000000000000000000000000000C91C00000000000000000000000000000000000000000000703700000000000000000000000000000000000000000000010000002800000028000000000000000000000000000000D21C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000004000000F0490000000000003E1E0000000000008A1D0000000000000000000001000000F849000000000000381E0000000000008A1D0000000000000000000001000000004A000000000000321E0000000000008A1D0000000000000000000001000000084A0000000000002C1E0000000000008A1D000000000000000000000100000000000000080000000C000000000000000000000000000000D21C000000000000000000000000000000000000000000008838000000000000000000000000000000000000000000001800000001000000441E0000000000008C1D000000000000F01B000000000000010000002800000028000000000000000000000000000000DB1C000000000000583900000000000000000000000000000000000000000000000000000000000000000000000000001800000001000000511E0000000000008C1D000000000000F61B000000000000000000000800000008000000000000000000000000000000DB1C000000000000C0390000000000000000000000000000000000000000000000000000000000000000000000000000010000002800000028000000000000000000000000000000E21C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800000003000000621E0000000000008C1D000000000000FC1B0000000000009C1D000000000000771D000000000000021C000000000000A61D0000000000007F1D0000000000000C1C0000000000002000000002000000104A0000000000002C1E0000000000008A1D0000000000000000000001000000184A0000000000009C1D0000000000008A1D000000000000000000000100000010000000010000009C1D000000000000E21D00000000000000000000080000000A000000000000000000000000000000E21C000000000000703A0000000000000000000000000000C03A0000000000000000000000000000083B0000000000001800000003000000B41D000000000000771D000000000000151C000000000000821E0000000000007F1D000000000000201C000000000000901E0000000000008C1D000000000000261C0000000000001000000001000000B41D000000000000AE1E000000000000E91C0000000000004047000000000000683B00000000000000000000000000000000000000000000B83B00000000000000000000000000004000000000000000110000002800000028000000000000000000000000000000ED1C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800000001000000B11E0000000000008C1D0000000000002C1C000000000000100000000800000008000000000000000000000000000000ED1C000000000000583C0000000000000000000000000000000000000000000000000000000000000000000000000000010000002800000028000000000000000000000000000000F41C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800000001000000D71E0000000000008C1D000000000000321C000000000000000000000800000008000000000000000000000000000000F41C000000000000083D00000000000000000000000000000000000000000000000000000000000000000000000000001800000001000000DB1E000000000000941D000000000000381C000000000000741C0000000000000000000000000000703D000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000001100000028000000280000000000000000000000000000000A1D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000008000000080000000000000000000000000000000A1D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800000001000000EA1E0000000000008C1D000000000000401C000000000000010000002800000028000000000000000000000000000000161D000000000000603E00000000000000000000000000000000000000000000000000000000000000000000000000001800000001000000EA1E0000000000008C1D000000000000461C000000000000000000000800000008000000000000000000000000000000161D000000000000C83E00000000000000000000000000000000000000000000000000000000000000000000000000000100000028000000280000000000000000000000000000001D1D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800000001000000F61E0000000000008C1D0000000000004C1C0000000000000000000008000000080000000000000000000000000000001D1D000000000000783F00000000000000000000000000000000000000000000000000000000000000000000000000000100000028000000280000000000000000000000000000001F1D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800000001000000FE1E000000000000771D000000000000521C0000000000002000000001000000204A000000000000081F0000000000008A1D00000000000000000000010000001000000001000000FE1E000000000000131F0000000000000000000008000000090000000000000000000000000000001F1D000000000000284000000000000000000000000000004840000000000000000000000000000070400000000000001000000001000000FE1E000000000000AE1E000000000000261D0000000000002049000000000000000000000000000000000000000000000000000000000000D040000000000000000000000000000040000000000000001800000001000000241F0000000000008C1D00000000000000000000000000008C1D0000000000000100000000000000284A000000000000000000000000000018000000010000002F1F0000000000008C1D00000000000000000000000000008C1D00000000000018000000010000003E1F0000000000008C1D00000000000000000000000000008C1D0000000000000200000000000000884A000000000000E84A0000000000000000000000000000030000002800000028000000000000000000000000000000311D0000000000000000000000000000B8410000000000000000000000000000000000000000000000000000000000001800000003000000241F0000000000008C1D0000000000005C1C0000000000002F1F0000000000008C1D000000000000621C0000000000003E1F0000000000008C1D000000000000681C000000000000020000000000000000000000000000000000000000000000311D0000000000002042000000000000B8410000000000000000000000000000000000000000000000000000000000001800000001000000481F0000000000008C1D0000000000006E1C0000000000001800000001000000481F0000000000008C1D00000000000000000000000000008C1D0000000000000100000000000000484B00000000000000000000000000005F1D0000000000004849000000000000B84200000000000000000000000000000043000000000000000000000000000000000000000000004000000000000000 - - sectname: __objc_data - segname: __DATA - addr: 0x4358 - size: 1600 - offset: 0x4358 - align: 3 - reloff: 0x0 - nreloc: 0 - flags: 0x0 - reserved1: 0x0 - reserved2: 0x0 - reserved3: 0x0 - content: 000000000000000000000000000000000000000000000000000000000000000000300000000000005843000000000000000000000000000000000000000000000000000000000000483000000000000000000000000000000000000000000000000000000000000000000000000000009030000000000000A843000000000000000000000000000000000000000000000000000000000000D8300000000000000000000000000000A843000000000000000000000000000000000000000000003831000000000000F843000000000000D0430000000000000000000000000000000000000000000080310000000000000000000000000000000000000000000000000000000000000000000000000000E03100000000000048440000000000000000000000000000000000000000000000000000000000002832000000000000000000000000000000000000000000000000000000000000000000000000000088320000000000009844000000000000000000000000000000000000000000000000000000000000D032000000000000104500000000000000000000000000000000000000000000000000000000000078330000000000001045000000000000E8440000000000000000000000000000000000000000000030330000000000000000000000000000000000000000000000000000000000000000000000000000C03300000000000038450000000000000000000000000000000000000000000000000000000000000834000000000000000000000000000000000000000000000000000000000000000000000000000050340000000000008845000000000000000000000000000000000000000000000000000000000000C83500000000000000000000000000000000000000000000000000000000000000000000000000001036000000000000D845000000000000000000000000000000000000000000000000000000000000E036000000000000000000000000000000000000000000000000000000000000000000000000000028370000000000002846000000000000000000000000000000000000000000000000000000000000F837000000000000000000000000000000000000000000000000000000000000000000000000000040380000000000007846000000000000000000000000000000000000000000000000000000000000103900000000000000000000000000000000000000000000000000000000000000000000000000007839000000000000C846000000000000000000000000000000000000000000000000000000000000E0390000000000000000000000000000000000000000000000000000000000000000000000000000283A0000000000001847000000000000000000000000000000000000000000000000000000000000203B0000000000000000000000000000000000000000000000000000000000000000000000000000103C0000000000006847000000000000000000000000000000000000000000000000000000000000783C0000000000000000000000000000000000000000000000000000000000000000000000000000C03C000000000000B847000000000000000000000000000000000000000000000000000000000000283D0000000000000000000000000000000000000000000000000000000000000000000000000000D03D0000000000000848000000000000000000000000000000000000000000000000000000000000183E0000000000000000000000000000000000000000000000000000000000000000000000000000803E0000000000005848000000000000000000000000000000000000000000000000000000000000E83E0000000000000000000000000000000000000000000000000000000000000000000000000000303F000000000000A848000000000000000000000000000000000000000000000000000000000000983F0000000000000000000000000000000000000000000000000000000000000000000000000000E03F000000000000F8480000000000000000000000000000000000000000000000000000000000008840000000000000704900000000000000000000000000000000000000000000000000000000000070420000000000007049000000000000484900000000000000000000000000000000000000000000D841000000000000 - - sectname: __objc_ivar - segname: __DATA - addr: 0x4998 - size: 144 - offset: 0x4998 - align: 3 - reloff: 0x0 - nreloc: 0 - flags: 0x0 - reserved1: 0x0 - reserved2: 0x0 - reserved3: 0x0 - content: 080000000000000009000000000000000A00000000000000080000000000000009000000000000000A000000000000000B00000000000000080000000000000009000000000000000A000000000000000B00000000000000080000000000000009000000000000000A000000000000000B00000000000000080000000000000009000000000000000800000000000000 - - sectname: __data - segname: __DATA - addr: 0x4A28 - size: 392 - offset: 0x4A28 - align: 3 - reloff: 0x0 - nreloc: 0 - flags: 0x0 - reserved1: 0x0 - reserved2: 0x0 - reserved3: 0x0 - content: 0000000000000000461D000000000000000000000000000028410000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000048410000000000000000000000000000000000000000000000000000000000003A1D00000000000050410000000000006841000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000008841000000000000000000000000000000000000000000000000000000000000531D0000000000000000000000000000904100000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000B041000000000000000000000000000000000000000000000000000000000000671D0000000000000000000000000000D84200000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000F842000000000000000000000000000000000000000000000000000000000000 - - sectname: __objc_protolist - segname: __DATA - addr: 0x4BB0 - size: 32 - offset: 0x4BB0 - align: 3 - reloff: 0x0 - nreloc: 0 - flags: 0x1000000B - reserved1: 0x0 - reserved2: 0x0 - reserved3: 0x0 - content: 284A000000000000884A000000000000E84A000000000000484B000000000000 - - sectname: __objc_classlist - segname: __DATA - addr: 0x4BD0 - size: 160 - offset: 0x4BD0 - align: 3 - reloff: 0x0 - nreloc: 0 - flags: 0x10000000 - reserved1: 0x0 - reserved2: 0x0 - reserved3: 0x0 - content: 8043000000000000D04300000000000020440000000000007044000000000000C044000000000000E8440000000000006045000000000000B04500000000000000460000000000005046000000000000A046000000000000F04600000000000040470000000000009047000000000000E04700000000000030480000000000008048000000000000D04800000000000020490000000000004849000000000000 - - sectname: __objc_catlist - segname: __DATA - addr: 0x4C70 - size: 32 - offset: 0x4C70 - align: 3 - reloff: 0x0 - nreloc: 0 - flags: 0x10000000 - reserved1: 0x0 - reserved2: 0x0 - reserved3: 0x0 - content: D03B000000000000903D000000000000E8400000000000001843000000000000 - - sectname: __objc_imageinfo - segname: __DATA - addr: 0x4C90 - size: 8 - offset: 0x4C90 - align: 0 - reloff: 0x0 - nreloc: 0 - flags: 0x0 - reserved1: 0x0 - reserved2: 0x0 - reserved3: 0x0 - content: '0000000040000000' - - sectname: __common - segname: __DATA - addr: 0x4C98 - size: 16 - offset: 0x0 - align: 2 - reloff: 0x0 - nreloc: 0 - flags: 0x1 - reserved1: 0x0 - reserved2: 0x0 - reserved3: 0x0 - - cmd: LC_SEGMENT_64 - cmdsize: 72 - segname: __LINKEDIT - vmaddr: 20480 - vmsize: 10272 - fileoff: 20480 - filesize: 10272 - maxprot: 1 - initprot: 1 - nsects: 0 - flags: 0 - - cmd: LC_DYLD_INFO_ONLY - cmdsize: 48 - rebase_off: 20480 - rebase_size: 320 - bind_off: 20800 - bind_size: 480 - weak_bind_off: 0 - weak_bind_size: 0 - lazy_bind_off: 0 - lazy_bind_size: 0 - export_off: 21280 - export_size: 896 - - cmd: LC_SYMTAB - cmdsize: 24 - symoff: 22208 - nsyms: 187 - stroff: 25200 - strsize: 5552 - - cmd: LC_DYSYMTAB - cmdsize: 80 - ilocalsym: 0 - nlocalsym: 131 - iextdefsym: 131 - nextdefsym: 49 - iundefsym: 180 - nundefsym: 7 - tocoff: 0 - ntoc: 0 - modtaboff: 0 - nmodtab: 0 - extrefsymoff: 0 - nextrefsyms: 0 - indirectsymoff: 0 - nindirectsyms: 0 - extreloff: 0 - nextrel: 0 - locreloff: 0 - nlocrel: 0 - - cmd: LC_ID_DYLIB - cmdsize: 88 - dylib: - name: 24 - timestamp: 0 - current_version: 66051 - compatibility_version: 65536 - Content: '/System/Library/Frameworks/Simple.framework/Versions/A/Simple' - ZeroPadBytes: 3 - - cmd: LC_UUID - cmdsize: 24 - uuid: 4C4C441D-5555-3144-A104-DD1AF4EF8FE7 - - cmd: LC_VERSION_MIN_MACOSX - cmdsize: 16 - version: 658432 - sdk: 983040 - - cmd: LC_LOAD_DYLIB - cmdsize: 96 - dylib: - name: 24 - timestamp: 0 - current_version: 197722368 - compatibility_version: 19660800 - Content: '/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation' - ZeroPadBytes: 3 - - cmd: LC_LOAD_DYLIB - cmdsize: 56 - dylib: - name: 24 - timestamp: 0 - current_version: 14942208 - compatibility_version: 65536 - Content: '/usr/lib/libobjc.A.dylib' - ZeroPadBytes: 8 - - cmd: LC_LOAD_DYLIB - cmdsize: 96 - dylib: - name: 24 - timestamp: 0 - current_version: 91750400 - compatibility_version: 65536 - Content: '/System/Library/Frameworks/CoreData.framework/Versions/A/CoreData' - ZeroPadBytes: 7 - - cmd: LC_LOAD_DYLIB - cmdsize: 56 - dylib: - name: 24 - timestamp: 0 - current_version: 88539136 - compatibility_version: 65536 - Content: '/usr/lib/libSystem.B.dylib' - ZeroPadBytes: 6 - - cmd: LC_FUNCTION_STARTS - cmdsize: 16 - dataoff: 22176 - datasize: 32 - - cmd: LC_DATA_IN_CODE - cmdsize: 16 - dataoff: 22208 - datasize: 0 -LinkEditData: - RebaseOpcodes: - - Opcode: REBASE_OPCODE_SET_TYPE_IMM - Imm: 1 - - Opcode: REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB - Imm: 1 - ExtraData: [ 0x18 ] - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB - Imm: 0 - ExtraData: [ 0x3, 0x40 ] - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x30 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x40 ] - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x30 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x40 ] - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x30 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x40 ] - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x30 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB - Imm: 0 - ExtraData: [ 0x4, 0x40 ] - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x30 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 15 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 2 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 8 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB - Imm: 0 - ExtraData: [ 0x2, 0x8 ] - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 2 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x30 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 4 - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB - Imm: 0 - ExtraData: [ 0x2, 0x10 ] - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x30 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 4 - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB - Imm: 0 - ExtraData: [ 0x2, 0x10 ] - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x30 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 4 - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB - Imm: 0 - ExtraData: [ 0x2, 0x10 ] - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 5 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 7 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x30 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 9 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 2 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB - Imm: 0 - ExtraData: [ 0x2, 0x8 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 9 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 5 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 2 - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB - Imm: 0 - ExtraData: [ 0x2, 0x28 ] - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 7 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x30 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 5 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 4 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB - Imm: 0 - ExtraData: [ 0x2, 0x40 ] - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x30 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 5 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 7 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x30 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 7 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x30 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 2 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB - Imm: 0 - ExtraData: [ 0x2, 0x8 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 4 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x18 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB - Imm: 0 - ExtraData: [ 0x2, 0x8 ] - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x8 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x8 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 4 - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB - Imm: 0 - ExtraData: [ 0x2, 0x8 ] - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 9 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 4 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB - Imm: 0 - ExtraData: [ 0x2, 0x8 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x38 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x20 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB - Imm: 0 - ExtraData: [ 0x2, 0x8 ] - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 1 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 2 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x20 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x20 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 2 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x20 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x20 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x20 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x20 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x20 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x20 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x20 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x20 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x20 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x20 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x20 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x20 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x20 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 2 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 3 - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 2 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x98 ] - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB - Imm: 0 - ExtraData: [ 0x2, 0x8 ] - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 4 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x18 ] - - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES - Imm: 3 - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 5 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x18 ] - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB - Imm: 0 - ExtraData: [ 0x2, 0x8 ] - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 4 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x18 ] - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB - Imm: 0 - ExtraData: [ 0x2, 0x8 ] - - Opcode: REBASE_OPCODE_ADD_ADDR_IMM_SCALED - Imm: 4 - - Opcode: REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB - Imm: 0 - ExtraData: [ 0x18 ] - - Opcode: REBASE_OPCODE_DO_REBASE_ULEB_TIMES - Imm: 0 - ExtraData: [ 0x1C ] - - Opcode: REBASE_OPCODE_DONE - Imm: 0 - BindOpcodes: - - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM - Imm: 0 - Symbol: _objc_ehtype_vtable - - Opcode: BIND_OPCODE_SET_TYPE_IMM - Imm: 1 - Symbol: '' - - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM - Imm: 2 - Symbol: '' - - Opcode: BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB - Imm: 1 - ULEBExtraData: [ 0x120 ] - Symbol: '' - - Opcode: BIND_OPCODE_SET_ADDEND_SLEB - Imm: 0 - SLEBExtraData: [ 16 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0xA0 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0xA0 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0xA0 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM - Imm: 0 - Symbol: '_OBJC_CLASS_$_NSManagedObject' - - Opcode: BIND_OPCODE_SET_TYPE_IMM - Imm: 1 - Symbol: '' - - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM - Imm: 3 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0xA78 ] - Symbol: '' - - Opcode: BIND_OPCODE_SET_ADDEND_SLEB - Imm: 0 - SLEBExtraData: [ 0 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0xA48 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM - Imm: 0 - Symbol: '_OBJC_METACLASS_$_NSObject' - - Opcode: BIND_OPCODE_SET_TYPE_IMM - Imm: 1 - Symbol: '' - - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM - Imm: 2 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0xFFFFFFFFFFFFFB68 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x40 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x40 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x48 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x40 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x90 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x40 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x40 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x40 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x40 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x40 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x40 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x40 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x40 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x48 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x40 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x40 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x40 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM - Imm: 0 - Symbol: __objc_empty_cache - - Opcode: BIND_OPCODE_SET_TYPE_IMM - Imm: 1 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0xFFFFFFFFFFFFFA60 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x20 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM - Imm: 0 - Symbol: '_OBJC_CLASS_$_NSObject' - - Opcode: BIND_OPCODE_SET_TYPE_IMM - Imm: 1 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0xFFFFFFFFFFFFFA00 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x48 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x98 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x48 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x98 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x48 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x48 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x48 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x48 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x48 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x48 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x48 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x98 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x48 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x48 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0x48 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM - Imm: 0 - Symbol: '_OBJC_METACLASS_$_NSManagedObject' - - Opcode: BIND_OPCODE_SET_TYPE_IMM - Imm: 1 - Symbol: '' - - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM - Imm: 3 - Symbol: '' - - Opcode: BIND_OPCODE_ADD_ADDR_ULEB - Imm: 0 - ULEBExtraData: [ 0xFFFFFFFFFFFFFE90 ] - Symbol: '' - - Opcode: BIND_OPCODE_DO_BIND - Imm: 0 - Symbol: '' - - Opcode: BIND_OPCODE_DONE - Imm: 0 - Symbol: '' - ExportTrie: - TerminalSize: 0 - NodeOffset: 0 - Name: '' - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 0 - NodeOffset: 5 - Name: _ - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 0 - NodeOffset: 41 - Name: p - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 86 - Name: rivateGlobalVariable - Flags: 0x0 - Address: 0x4CA0 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 92 - Name: ublicGlobalVariable - Flags: 0x0 - Address: 0x4CA4 - Other: 0x0 - ImportName: '' - - TerminalSize: 0 - NodeOffset: 98 - Name: extraGlobalAPI - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 106 - Name: '1' - Flags: 0x0 - Address: 0x4C98 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 112 - Name: '2' - Flags: 0x0 - Address: 0x4C9C - Other: 0x0 - ImportName: '' - - TerminalSize: 0 - NodeOffset: 118 - Name: weakP - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 165 - Name: rivateGlobalVariable - Flags: 0x4 - Address: 0x4BAC - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 171 - Name: ublicGlobalVariable - Flags: 0x4 - Address: 0x4BA8 - Other: 0x0 - ImportName: '' - - TerminalSize: 0 - NodeOffset: 177 - Name: OBJC_ - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 0 - NodeOffset: 232 - Name: 'IVAR_$_Basic' - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 248 - Name: 6.ivar1 - Flags: 0x0 - Address: 0x4A10 - Other: 0x0 - ImportName: '' - - TerminalSize: 0 - NodeOffset: 254 - Name: '4' - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 0 - NodeOffset: 274 - Name: .ivar - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 284 - Name: '2' - Flags: 0x0 - Address: 0x49B8 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 290 - Name: '1' - Flags: 0x0 - Address: 0x49B0 - Other: 0x0 - ImportName: '' - - TerminalSize: 0 - NodeOffset: 296 - Name: _2.ivar - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 306 - Name: '1' - Flags: 0x0 - Address: 0x4A08 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 312 - Name: '2' - Flags: 0x0 - Address: 0x4A00 - Other: 0x0 - ImportName: '' - - TerminalSize: 0 - NodeOffset: 318 - Name: 'METACLASS_$_' - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 369 - Name: FooClass - Flags: 0x0 - Address: 0x4970 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 375 - Name: ExternalManagedObject - Flags: 0x0 - Address: 0x47B8 - Other: 0x0 - ImportName: '' - - TerminalSize: 0 - NodeOffset: 381 - Name: S - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 401 - Name: imple - Flags: 0x0 - Address: 0x4358 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 0 - NodeOffset: 418 - Name: Internal - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 432 - Name: SPI - Flags: 0x0 - Address: 0x4498 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 438 - Name: API - Flags: 0x0 - Address: 0x4448 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 444 - Name: ubClass - Flags: 0x0 - Address: 0x43F8 - Other: 0x0 - ImportName: '' - - TerminalSize: 0 - NodeOffset: 450 - Name: Bas - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 461 - Name: e - Flags: 0x0 - Address: 0x43A8 - Other: 0x0 - ImportName: '' - - TerminalSize: 0 - NodeOffset: 467 - Name: ic - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 501 - Name: '2' - Flags: 0x0 - Address: 0x4538 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 507 - Name: '3' - Flags: 0x0 - Address: 0x4588 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 513 - Name: '5' - Flags: 0x0 - Address: 0x46C8 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 519 - Name: '4' - Flags: 0x0 - Address: 0x45D8 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 530 - Name: _2 - Flags: 0x0 - Address: 0x4678 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 536 - Name: '9' - Flags: 0x0 - Address: 0x48F8 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 542 - Name: '8' - Flags: 0x0 - Address: 0x4858 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 548 - Name: '6' - Flags: 0x0 - Address: 0x4718 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 554 - Name: '1' - Flags: 0x0 - Address: 0x4510 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 560 - Name: A - Flags: 0x0 - Address: 0x48A8 - Other: 0x0 - ImportName: '' - - TerminalSize: 0 - NodeOffset: 566 - Name: 'EHTYPE_$_' - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 3 - NodeOffset: 579 - Name: Base - Flags: 0x0 - Address: 0x3120 - Other: 0x0 - ImportName: '' - - TerminalSize: 0 - NodeOffset: 584 - Name: S - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 3 - NodeOffset: 612 - Name: ubClass - Flags: 0x0 - Address: 0x31C8 - Other: 0x0 - ImportName: '' - - TerminalSize: 0 - NodeOffset: 617 - Name: impleInternal - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 3 - NodeOffset: 631 - Name: SPI - Flags: 0x0 - Address: 0x3318 - Other: 0x0 - ImportName: '' - - TerminalSize: 3 - NodeOffset: 636 - Name: API - Flags: 0x0 - Address: 0x3270 - Other: 0x0 - ImportName: '' - - TerminalSize: 0 - NodeOffset: 641 - Name: 'CLASS_$_' - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 692 - Name: A - Flags: 0x0 - Address: 0x48D0 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 698 - Name: ExternalManagedObject - Flags: 0x0 - Address: 0x47E0 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 704 - Name: FooClass - Flags: 0x0 - Address: 0x4948 - Other: 0x0 - ImportName: '' - - TerminalSize: 0 - NodeOffset: 710 - Name: S - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 730 - Name: ubClass - Flags: 0x0 - Address: 0x4420 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 736 - Name: imple - Flags: 0x0 - Address: 0x4380 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 0 - NodeOffset: 753 - Name: Internal - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 767 - Name: API - Flags: 0x0 - Address: 0x4470 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 773 - Name: SPI - Flags: 0x0 - Address: 0x44C0 - Other: 0x0 - ImportName: '' - - TerminalSize: 0 - NodeOffset: 779 - Name: Bas - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 790 - Name: e - Flags: 0x0 - Address: 0x43D0 - Other: 0x0 - ImportName: '' - - TerminalSize: 0 - NodeOffset: 796 - Name: ic - Flags: 0x0 - Address: 0x0 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 830 - Name: '1' - Flags: 0x0 - Address: 0x44E8 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 836 - Name: '3' - Flags: 0x0 - Address: 0x45B0 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 842 - Name: '4' - Flags: 0x0 - Address: 0x4600 - Other: 0x0 - ImportName: '' - Children: - - TerminalSize: 4 - NodeOffset: 853 - Name: _2 - Flags: 0x0 - Address: 0x46A0 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 859 - Name: '2' - Flags: 0x0 - Address: 0x4560 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 865 - Name: '8' - Flags: 0x0 - Address: 0x4880 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 871 - Name: '9' - Flags: 0x0 - Address: 0x4920 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 877 - Name: '6' - Flags: 0x0 - Address: 0x4740 - Other: 0x0 - ImportName: '' - - TerminalSize: 4 - NodeOffset: 883 - Name: '5' - Flags: 0x0 - Address: 0x46F0 - Other: 0x0 - ImportName: '' - NameList: - - n_strx: 2 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7104 - - n_strx: 22 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7114 - - n_strx: 46 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7123 - - n_strx: 66 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7133 - - n_strx: 88 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7143 - - n_strx: 112 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7152 - - n_strx: 135 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7158 - - n_strx: 162 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7164 - - n_strx: 204 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7170 - - n_strx: 224 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7180 - - n_strx: 248 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7189 - - n_strx: 273 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7200 - - n_strx: 302 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7206 - - n_strx: 347 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7212 - - n_strx: 395 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7218 - - n_strx: 424 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7224 - - n_strx: 466 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7232 - - n_strx: 488 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7238 - - n_strx: 510 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7244 - - n_strx: 523 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7250 - - n_strx: 543 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7260 - - n_strx: 566 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7266 - - n_strx: 593 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7272 - - n_strx: 615 - n_type: 0xE - n_sect: 1 - n_desc: 0 - n_value: 7278 - - n_strx: 658 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 12288 - - n_strx: 687 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 12360 - - n_strx: 712 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 12432 - - n_strx: 739 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 12504 - - n_strx: 762 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 12600 - - n_strx: 793 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 12672 - - n_strx: 820 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 12768 - - n_strx: 860 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 12840 - - n_strx: 896 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 12936 - - n_strx: 936 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 13008 - - n_strx: 972 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 13176 - - n_strx: 997 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 13104 - - n_strx: 1026 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 13248 - - n_strx: 1055 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 13320 - - n_strx: 1080 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 13392 - - n_strx: 1109 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 13464 - - n_strx: 1142 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 13592 - - n_strx: 1177 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 13696 - - n_strx: 1203 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 13768 - - n_strx: 1228 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 13840 - - n_strx: 1257 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 13912 - - n_strx: 1292 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 14048 - - n_strx: 1317 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 14120 - - n_strx: 1348 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 14192 - - n_strx: 1385 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 14328 - - n_strx: 1412 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 14400 - - n_strx: 1443 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 14472 - - n_strx: 1480 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 14608 - - n_strx: 1507 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 14680 - - n_strx: 1537 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 14712 - - n_strx: 1566 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 14784 - - n_strx: 1599 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 14816 - - n_strx: 1624 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 14888 - - n_strx: 1653 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 14960 - - n_strx: 1686 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 15040 - - n_strx: 1721 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 15112 - - n_strx: 1747 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 15136 - - n_strx: 1772 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 15208 - - n_strx: 1820 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 15288 - - n_strx: 1852 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 15312 - - n_strx: 1883 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 15376 - - n_strx: 1912 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 15448 - - n_strx: 1945 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 15480 - - n_strx: 1970 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 15552 - - n_strx: 2014 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 15624 - - n_strx: 2062 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 15656 - - n_strx: 2102 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 15728 - - n_strx: 2162 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 15760 - - n_strx: 2205 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 15824 - - n_strx: 2239 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 15896 - - n_strx: 2269 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 15968 - - n_strx: 2299 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16000 - - n_strx: 2328 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16072 - - n_strx: 2361 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16104 - - n_strx: 2386 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16176 - - n_strx: 2410 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16248 - - n_strx: 2438 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16280 - - n_strx: 2458 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16352 - - n_strx: 2487 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16424 - - n_strx: 2520 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16456 - - n_strx: 2555 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16496 - - n_strx: 2581 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16520 - - n_strx: 2606 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16592 - - n_strx: 2645 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16616 - - n_strx: 2683 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 17008 - - n_strx: 2710 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16856 - - n_strx: 2741 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16680 - - n_strx: 2789 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16712 - - n_strx: 2833 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16720 - - n_strx: 2868 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16744 - - n_strx: 2915 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16776 - - n_strx: 2958 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16784 - - n_strx: 3005 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16816 - - n_strx: 3048 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16824 - - n_strx: 3082 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 16928 - - n_strx: 3117 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 17080 - - n_strx: 3171 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 17112 - - n_strx: 3222 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 17144 - - n_strx: 3269 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 17152 - - n_strx: 3316 - n_type: 0xE - n_sect: 6 - n_desc: 0 - n_value: 17176 - - n_strx: 4000 - n_type: 0x1E - n_sect: 7 - n_desc: 0 - n_value: 17960 - - n_strx: 4027 - n_type: 0x1E - n_sect: 7 - n_desc: 0 - n_value: 18000 - - n_strx: 4192 - n_type: 0x1E - n_sect: 7 - n_desc: 0 - n_value: 18280 - - n_strx: 4217 - n_type: 0x1E - n_sect: 7 - n_desc: 0 - n_value: 18320 - - n_strx: 4314 - n_type: 0x1E - n_sect: 7 - n_desc: 0 - n_value: 18440 - - n_strx: 4344 - n_type: 0x1E - n_sect: 7 - n_desc: 0 - n_value: 18480 - - n_strx: 4548 - n_type: 0x1E - n_sect: 8 - n_desc: 0 - n_value: 18840 - - n_strx: 4578 - n_type: 0x1E - n_sect: 8 - n_desc: 0 - n_value: 18848 - - n_strx: 4608 - n_type: 0x1E - n_sect: 8 - n_desc: 0 - n_value: 18856 - - n_strx: 4690 - n_type: 0x1E - n_sect: 8 - n_desc: 0 - n_value: 18880 - - n_strx: 4716 - n_type: 0x1E - n_sect: 8 - n_desc: 0 - n_value: 18888 - - n_strx: 4742 - n_type: 0x1E - n_sect: 8 - n_desc: 0 - n_value: 18896 - - n_strx: 4770 - n_type: 0x1E - n_sect: 8 - n_desc: 0 - n_value: 18904 - - n_strx: 4798 - n_type: 0x1E - n_sect: 8 - n_desc: 0 - n_value: 18912 - - n_strx: 4826 - n_type: 0x1E - n_sect: 8 - n_desc: 0 - n_value: 18920 - - n_strx: 4854 - n_type: 0x1E - n_sect: 8 - n_desc: 0 - n_value: 18928 - - n_strx: 4882 - n_type: 0x1E - n_sect: 8 - n_desc: 0 - n_value: 18936 - - n_strx: 4992 - n_type: 0x1E - n_sect: 8 - n_desc: 0 - n_value: 18968 - - n_strx: 5022 - n_type: 0x1E - n_sect: 8 - n_desc: 0 - n_value: 18976 - - n_strx: 5053 - n_type: 0x1E - n_sect: 9 - n_desc: 0 - n_value: 18984 - - n_strx: 5084 - n_type: 0x1E - n_sect: 9 - n_desc: 0 - n_value: 19080 - - n_strx: 5114 - n_type: 0x1E - n_sect: 9 - n_desc: 0 - n_value: 19176 - - n_strx: 5144 - n_type: 0x1E - n_sect: 9 - n_desc: 0 - n_value: 19272 - - n_strx: 5231 - n_type: 0x1E - n_sect: 10 - n_desc: 0 - n_value: 19376 - - n_strx: 5268 - n_type: 0x1E - n_sect: 10 - n_desc: 0 - n_value: 19384 - - n_strx: 5304 - n_type: 0x1E - n_sect: 10 - n_desc: 0 - n_value: 19392 - - n_strx: 5340 - n_type: 0x1E - n_sect: 10 - n_desc: 0 - n_value: 19400 - - n_strx: 3353 - n_type: 0xF - n_sect: 14 - n_desc: 0 - n_value: 19608 - - n_strx: 3370 - n_type: 0xF - n_sect: 14 - n_desc: 0 - n_value: 19612 - - n_strx: 3387 - n_type: 0xF - n_sect: 14 - n_desc: 0 - n_value: 19616 - - n_strx: 3410 - n_type: 0xF - n_sect: 14 - n_desc: 0 - n_value: 19620 - - n_strx: 3432 - n_type: 0xF - n_sect: 6 - n_desc: 0 - n_value: 12576 - - n_strx: 3452 - n_type: 0xF - n_sect: 6 - n_desc: 0 - n_value: 12744 - - n_strx: 3476 - n_type: 0xF - n_sect: 6 - n_desc: 0 - n_value: 12912 - - n_strx: 3509 - n_type: 0xF - n_sect: 6 - n_desc: 0 - n_value: 13080 - - n_strx: 3542 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17240 - - n_strx: 3567 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17280 - - n_strx: 3588 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17320 - - n_strx: 3611 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17360 - - n_strx: 3630 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17400 - - n_strx: 3657 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17440 - - n_strx: 3680 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17480 - - n_strx: 3716 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17520 - - n_strx: 3748 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17560 - - n_strx: 3784 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17600 - - n_strx: 3816 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17640 - - n_strx: 3837 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17680 - - n_strx: 3862 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17720 - - n_strx: 3887 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17760 - - n_strx: 3908 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17800 - - n_strx: 3933 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17840 - - n_strx: 3954 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17880 - - n_strx: 3979 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 17920 - - n_strx: 4050 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 18040 - - n_strx: 4077 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 18080 - - n_strx: 4100 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 18120 - - n_strx: 4125 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 18160 - - n_strx: 4146 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 18200 - - n_strx: 4171 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 18240 - - n_strx: 4238 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 18360 - - n_strx: 4278 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 18400 - - n_strx: 4370 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 18520 - - n_strx: 4395 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 18560 - - n_strx: 4416 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 18600 - - n_strx: 4436 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 18640 - - n_strx: 4452 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 18680 - - n_strx: 4477 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 18720 - - n_strx: 4498 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 18760 - - n_strx: 4521 - n_type: 0xF - n_sect: 7 - n_desc: 0 - n_value: 18800 - - n_strx: 4638 - n_type: 0xF - n_sect: 8 - n_desc: 0 - n_value: 18864 - - n_strx: 4664 - n_type: 0xF - n_sect: 8 - n_desc: 0 - n_value: 18872 - - n_strx: 4910 - n_type: 0xF - n_sect: 8 - n_desc: 0 - n_value: 18944 - - n_strx: 4938 - n_type: 0xF - n_sect: 8 - n_desc: 0 - n_value: 18952 - - n_strx: 4966 - n_type: 0xF - n_sect: 8 - n_desc: 0 - n_value: 18960 - - n_strx: 5178 - n_type: 0xF - n_sect: 9 - n_desc: 128 - n_value: 19368 - - n_strx: 5204 - n_type: 0xF - n_sect: 9 - n_desc: 128 - n_value: 19372 - - n_strx: 5380 - n_type: 0x1 - n_sect: 0 - n_desc: 768 - n_value: 0 - - n_strx: 5410 - n_type: 0x1 - n_sect: 0 - n_desc: 512 - n_value: 0 - - n_strx: 5433 - n_type: 0x1 - n_sect: 0 - n_desc: 768 - n_value: 0 - - n_strx: 5467 - n_type: 0x1 - n_sect: 0 - n_desc: 512 - n_value: 0 - - n_strx: 5494 - n_type: 0x1 - n_sect: 0 - n_desc: 512 - n_value: 0 - - n_strx: 5513 - n_type: 0x1 - n_sect: 0 - n_desc: 512 - n_value: 0 - - n_strx: 5533 - n_type: 0x1 - n_sect: 0 - n_desc: 1024 - n_value: 0 - StringTable: - - ' ' - - '-[Basic3 property1]' - - '-[Basic3 setProperty1:]' - - '-[Basic3 property2]' - - '-[Basic3 isProperty3]' - - '-[Basic3 setProperty3:]' - - '+[Basic5 aClassMethod]' - - '-[Basic5 anInstanceMethod]' - - '-[Basic6 anInstanceMethodFromAnExtension]' - - '-[Basic6 property1]' - - '-[Basic6 setProperty1:]' - - '-[Basic6(Foo) property2]' - - '-[Basic6(Foo) setProperty2:]' - - '-[Basic6(Foo) anInstanceMethodFromACategory]' - - '-[Basic7 anInstanceMethodFromAnHiddenExtension]' - - '-[ExternalManagedObject foo]' - - '-[NSManagedObject(Simple) supportsSimple]' - - '+[Basic8 useSameName]' - - '-[Basic8 useSameName]' - - '-[A aMethod]' - - '-[Basic9 aProperty]' - - '-[FooClass baseMethod]' - - '-[FooClass protocolMethod]' - - '-[FooClass barMethod]' - - '-[FooClass(Private) privateProcotolMethod]' - - '__OBJC_METACLASS_RO_$_Simple' - - '__OBJC_CLASS_RO_$_Simple' - - '__OBJC_METACLASS_RO_$_Base' - - '__OBJC_CLASS_RO_$_Base' - - '__OBJC_METACLASS_RO_$_SubClass' - - '__OBJC_CLASS_RO_$_SubClass' - - '__OBJC_METACLASS_RO_$_SimpleInternalAPI' - - '__OBJC_CLASS_RO_$_SimpleInternalAPI' - - '__OBJC_METACLASS_RO_$_SimpleInternalSPI' - - '__OBJC_CLASS_RO_$_SimpleInternalSPI' - - '__OBJC_CLASS_RO_$_Basic1' - - '__OBJC_METACLASS_RO_$_Basic1' - - '__OBJC_METACLASS_RO_$_Basic2' - - '__OBJC_CLASS_RO_$_Basic2' - - '__OBJC_METACLASS_RO_$_Basic3' - - '__OBJC_$_INSTANCE_METHODS_Basic3' - - '__OBJC_$_INSTANCE_VARIABLES_Basic3' - - '__OBJC_$_PROP_LIST_Basic3' - - '__OBJC_CLASS_RO_$_Basic3' - - '__OBJC_METACLASS_RO_$_Basic4' - - '__OBJC_$_INSTANCE_VARIABLES_Basic4' - - '__OBJC_CLASS_RO_$_Basic4' - - '__OBJC_METACLASS_RO_$_Basic4_1' - - '__OBJC_$_INSTANCE_VARIABLES_Basic4_1' - - '__OBJC_CLASS_RO_$_Basic4_1' - - '__OBJC_METACLASS_RO_$_Basic4_2' - - '__OBJC_$_INSTANCE_VARIABLES_Basic4_2' - - '__OBJC_CLASS_RO_$_Basic4_2' - - '__OBJC_$_CLASS_METHODS_Basic5' - - '__OBJC_METACLASS_RO_$_Basic5' - - '__OBJC_$_INSTANCE_METHODS_Basic5' - - '__OBJC_CLASS_RO_$_Basic5' - - '__OBJC_METACLASS_RO_$_Basic6' - - '__OBJC_$_INSTANCE_METHODS_Basic6' - - '__OBJC_$_INSTANCE_VARIABLES_Basic6' - - '__OBJC_$_PROP_LIST_Basic6' - - '__OBJC_CLASS_RO_$_Basic6' - - '__OBJC_$_CATEGORY_INSTANCE_METHODS_Basic6_$_Foo' - - '__OBJC_$_PROP_LIST_Basic6_$_Foo' - - '__OBJC_$_CATEGORY_Basic6_$_Foo' - - '__OBJC_METACLASS_RO_$_Basic7' - - '__OBJC_$_INSTANCE_METHODS_Basic7' - - '__OBJC_CLASS_RO_$_Basic7' - - '__OBJC_METACLASS_RO_$_ExternalManagedObject' - - '__OBJC_$_INSTANCE_METHODS_ExternalManagedObject' - - '__OBJC_CLASS_RO_$_ExternalManagedObject' - - '__OBJC_$_CATEGORY_INSTANCE_METHODS_NSManagedObject_$_Simple' - - '__OBJC_$_CATEGORY_NSManagedObject_$_Simple' - - '__OBJC_METACLASS_RO_$_HiddenClass' - - '__OBJC_CLASS_RO_$_HiddenClass' - - '__OBJC_$_CLASS_METHODS_Basic8' - - '__OBJC_METACLASS_RO_$_Basic8' - - '__OBJC_$_INSTANCE_METHODS_Basic8' - - '__OBJC_CLASS_RO_$_Basic8' - - '__OBJC_METACLASS_RO_$_A' - - '__OBJC_$_INSTANCE_METHODS_A' - - '__OBJC_CLASS_RO_$_A' - - '__OBJC_METACLASS_RO_$_Basic9' - - '__OBJC_$_INSTANCE_METHODS_Basic9' - - '__OBJC_$_INSTANCE_VARIABLES_Basic9' - - '__OBJC_$_PROP_LIST_Basic9' - - '__OBJC_CLASS_RO_$_Basic9' - - '__OBJC_$_PROP_LIST_Basic9_$_deprecated' - - '__OBJC_$_CATEGORY_Basic9_$_deprecated' - - '__OBJC_CLASS_RO_$_FooClass' - - '__OBJC_METACLASS_RO_$_FooClass' - - '__OBJC_$_PROTOCOL_INSTANCE_METHODS_BaseProtocol' - - '__OBJC_$_PROTOCOL_METHOD_TYPES_BaseProtocol' - - '__OBJC_$_PROTOCOL_REFS_FooProtocol' - - '__OBJC_$_PROTOCOL_INSTANCE_METHODS_FooProtocol' - - '__OBJC_$_PROTOCOL_METHOD_TYPES_FooProtocol' - - '__OBJC_$_PROTOCOL_INSTANCE_METHODS_BarProtocol' - - '__OBJC_$_PROTOCOL_METHOD_TYPES_BarProtocol' - - '__OBJC_CLASS_PROTOCOLS_$_FooClass' - - '__OBJC_$_INSTANCE_METHODS_FooClass' - - '__OBJC_$_CATEGORY_INSTANCE_METHODS_FooClass_$_Private' - - '__OBJC_$_PROTOCOL_INSTANCE_METHODS_PrivateProtocol' - - '__OBJC_$_PROTOCOL_METHOD_TYPES_PrivateProtocol' - - '__OBJC_CATEGORY_PROTOCOLS_$_FooClass_$_Private' - - '__OBJC_$_CATEGORY_FooClass_$_Private' - - _extraGlobalAPI1 - - _extraGlobalAPI2 - - _privateGlobalVariable - - _publicGlobalVariable - - '_OBJC_EHTYPE_$_Base' - - '_OBJC_EHTYPE_$_SubClass' - - '_OBJC_EHTYPE_$_SimpleInternalAPI' - - '_OBJC_EHTYPE_$_SimpleInternalSPI' - - '_OBJC_METACLASS_$_Simple' - - '_OBJC_CLASS_$_Simple' - - '_OBJC_METACLASS_$_Base' - - '_OBJC_CLASS_$_Base' - - '_OBJC_METACLASS_$_SubClass' - - '_OBJC_CLASS_$_SubClass' - - '_OBJC_METACLASS_$_SimpleInternalAPI' - - '_OBJC_CLASS_$_SimpleInternalAPI' - - '_OBJC_METACLASS_$_SimpleInternalSPI' - - '_OBJC_CLASS_$_SimpleInternalSPI' - - '_OBJC_CLASS_$_Basic1' - - '_OBJC_METACLASS_$_Basic1' - - '_OBJC_METACLASS_$_Basic2' - - '_OBJC_CLASS_$_Basic2' - - '_OBJC_METACLASS_$_Basic3' - - '_OBJC_CLASS_$_Basic3' - - '_OBJC_METACLASS_$_Basic4' - - '_OBJC_CLASS_$_Basic4' - - '_OBJC_METACLASS_$_Basic4_1' - - '_OBJC_CLASS_$_Basic4_1' - - '_OBJC_METACLASS_$_Basic4_2' - - '_OBJC_CLASS_$_Basic4_2' - - '_OBJC_METACLASS_$_Basic5' - - '_OBJC_CLASS_$_Basic5' - - '_OBJC_METACLASS_$_Basic6' - - '_OBJC_CLASS_$_Basic6' - - '_OBJC_METACLASS_$_Basic7' - - '_OBJC_CLASS_$_Basic7' - - '_OBJC_METACLASS_$_ExternalManagedObject' - - '_OBJC_CLASS_$_ExternalManagedObject' - - '_OBJC_METACLASS_$_HiddenClass' - - '_OBJC_CLASS_$_HiddenClass' - - '_OBJC_METACLASS_$_Basic8' - - '_OBJC_CLASS_$_Basic8' - - '_OBJC_METACLASS_$_A' - - '_OBJC_CLASS_$_A' - - '_OBJC_METACLASS_$_Basic9' - - '_OBJC_CLASS_$_Basic9' - - '_OBJC_CLASS_$_FooClass' - - '_OBJC_METACLASS_$_FooClass' - - '_OBJC_IVAR_$_Basic3.property1' - - '_OBJC_IVAR_$_Basic3.property2' - - '_OBJC_IVAR_$_Basic3.property3' - - '_OBJC_IVAR_$_Basic4.ivar1' - - '_OBJC_IVAR_$_Basic4.ivar2' - - '_OBJC_IVAR_$_Basic4.ivar3' - - '_OBJC_IVAR_$_Basic4.ivar4' - - '_OBJC_IVAR_$_Basic4_1.ivar1' - - '_OBJC_IVAR_$_Basic4_1.ivar2' - - '_OBJC_IVAR_$_Basic4_1.ivar3' - - '_OBJC_IVAR_$_Basic4_1.ivar4' - - '_OBJC_IVAR_$_Basic4_2.ivar4' - - '_OBJC_IVAR_$_Basic4_2.ivar3' - - '_OBJC_IVAR_$_Basic4_2.ivar2' - - '_OBJC_IVAR_$_Basic4_2.ivar1' - - '_OBJC_IVAR_$_Basic6.ivar1' - - '_OBJC_IVAR_$_Basic6.property1' - - '_OBJC_IVAR_$_Basic9._aProperty' - - '__OBJC_PROTOCOL_$_BaseProtocol' - - '__OBJC_PROTOCOL_$_FooProtocol' - - '__OBJC_PROTOCOL_$_BarProtocol' - - '__OBJC_PROTOCOL_$_PrivateProtocol' - - _weakPublicGlobalVariable - - _weakPrivateGlobalVariable - - '__OBJC_LABEL_PROTOCOL_$_BaseProtocol' - - '__OBJC_LABEL_PROTOCOL_$_FooProtocol' - - '__OBJC_LABEL_PROTOCOL_$_BarProtocol' - - '__OBJC_LABEL_PROTOCOL_$_PrivateProtocol' - - '_OBJC_CLASS_$_NSManagedObject' - - '_OBJC_CLASS_$_NSObject' - - '_OBJC_METACLASS_$_NSManagedObject' - - '_OBJC_METACLASS_$_NSObject' - - __objc_empty_cache - - _objc_ehtype_vtable - - dyld_stub_binder - - '' - - '' - FunctionStarts: [ 0x1BC0, 0x1BCA, 0x1BD3, 0x1BDD, 0x1BE7, 0x1BF0, 0x1BF6, - 0x1BFC, 0x1C02, 0x1C0C, 0x1C15, 0x1C20, 0x1C26, 0x1C2C, - 0x1C32, 0x1C38, 0x1C40, 0x1C46, 0x1C4C, 0x1C52, 0x1C5C, - 0x1C62, 0x1C68, 0x1C6E ] -... diff --git a/clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI.h b/clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI.h deleted file mode 100644 index 5dd416a0619cf..0000000000000 --- a/clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI.h +++ /dev/null @@ -1,3 +0,0 @@ -#ifndef HAVE_SEEN_PROJECT_HEADER_FIRST -#error "Project header was not included in the correct order!" -#endif diff --git a/clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI2.h b/clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI2.h deleted file mode 100644 index 9bbae52d72153..0000000000000 --- a/clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI2.h +++ /dev/null @@ -1,7 +0,0 @@ -#import - -__attribute__((objc_exception)) -@interface SimpleInternalAPI : NSObject -@end - -#define HAVE_SEEN_PROJECT_HEADER_FIRST 1 diff --git a/clang/test/InstallAPI/Inputs/Simple/SimpleInternalSPI.h b/clang/test/InstallAPI/Inputs/Simple/SimpleInternalSPI.h deleted file mode 100644 index a816c01abeb0d..0000000000000 --- a/clang/test/InstallAPI/Inputs/Simple/SimpleInternalSPI.h +++ /dev/null @@ -1,5 +0,0 @@ -#import - -__attribute__((objc_exception)) -@interface SimpleInternalSPI : NSObject -@end diff --git a/clang/test/InstallAPI/extra-exclude-headers.test b/clang/test/InstallAPI/extra-exclude-headers.test deleted file mode 100644 index 663ca1a5d5000..0000000000000 --- a/clang/test/InstallAPI/extra-exclude-headers.test +++ /dev/null @@ -1,207 +0,0 @@ -; RUN: rm -rf %t -; RUN: split-file %s %t -; RUN: mkdir -p %t/System/Library/Frameworks -; RUN: cp -r %S/Inputs/Simple/Simple.framework %t/System/Library/Frameworks/ -; RUN: sed -e "s|DSTROOT|%/t|g" %t/inputs.json.in > %t/inputs.json -; RUN: yaml2obj %S/Inputs/Simple/Simple.yaml -o %t/Simple - -// Add exclude options. -; RUN: clang-installapi -target x86_64-apple-macosx10.12 \ -; RUN: -install_name /System/Library/Frameworks/Simple.framework/Versions/A/Simple \ -; RUN: -current_version 1.2.3 -compatibility_version 1 \ -; RUN: -F%t/System/Library/Frameworks \ -; RUN: %t/inputs.json -o %t/Simple.tbd \ -; RUN: --verify-against=%t/Simple --verify-mode=ErrorsAndWarnings \ -; RUN: --exclude-public-header=**/SimpleAPI.h \ -; RUN: --exclude-private-header=**/SimplePrivateSPI.h 2>&1 | FileCheck -check-prefix=WARNINGS %s -; RUN: llvm-readtapi -compare %t/Simple.tbd %t/expected-excluded.tbd - -// Add extra options. -; RUN: clang-installapi -target x86_64-apple-macosx10.12 \ -; RUN: -install_name /System/Library/Frameworks/Simple.framework/Versions/A/Simple \ -; RUN: -current_version 1.2.3 -compatibility_version 1 \ -; RUN: -F%t/System/Library/Frameworks \ -; RUN: %t/inputs.json -o %t/Simple.tbd \ -; RUN: --verify-against=%t/Simple --verify-mode=Pedantic \ -; RUN: --extra-project-header=%S/Inputs/Simple/SimpleInternalAPI2.h \ -; RUN: --extra-project-header=%S/Inputs/Simple/SimpleInternalAPI.h \ -; RUN: --extra-public-header=%S/Inputs/Simple/Extra \ -; RUN: --extra-private-header=%S/Inputs/Simple/SimpleInternalSPI.h \ -; RUN: --exclude-public-header=**/SimpleAPI.h \ -; RUN: --exclude-private-header=**/SimplePrivateSPI.h 2>&1 | FileCheck -check-prefix=PEDANTIC -allow-empty %s -; RUN: llvm-readtapi -compare %t/Simple.tbd %t/expected-extra.tbd - -// Check fatal missing file input. -; RUN: not clang-installapi -target x86_64-apple-macosx10.12 \ -; RUN: -install_name /System/Library/Frameworks/Simple.framework/Versions/A/Simple \ -; RUN: -current_version 1.2.3 -compatibility_version 1 \ -; RUN: -F%t/System/Library/Frameworks \ -; RUN: %t/inputs.json -o %t/Simple.tbd \ -; RUN: --extra-public-header=%S/Inputs/Simple/NoSuchFile.h 2>&1 | FileCheck -allow-empty -check-prefix=NOPUBLIC %s - -; WARNINGS: warning: no declaration was found for exported symbol '_extraGlobalAPI1' in dynamic library -; WARNINGS: warning: no declaration was found for exported symbol '_extraGlobalAPI2' in dynamic library -; WARNINGS: warning: no declaration was found for exported symbol '(ObjC Class) SimpleInternalSPI' in dynamic library -; WARNINGS: warning: no declaration was found for exported symbol '(ObjC Class) SimpleInternalAPI' in dynamic library - -; PEDANTIC-NOT: error -; PEDANTIC: warning: cannot find protocol definition for 'ForwardProcotol' - -; NOPUBLIC: error: no such public header file: - -;--- expected-excluded.tbd -{ - "main_library": { - "current_versions": [ - { - "version": "1.2.3" - } - ], - "exported_symbols": [ - { - "data": { - "global": [ - "_publicGlobalVariable", - "_privateGlobalVariable" - ], - "objc_class": [ - "ExternalManagedObject", "Basic6", - "Basic1", "Base", "Basic3", - "FooClass", "Simple", - "Basic4_2", "Basic5", - "Basic9","Basic8", - "Basic2", "Basic4", "A", "SubClass" - ], - "objc_eh_type": [ - "SubClass", "Base" - ], - "objc_ivar": [ - "Basic4.ivar2", "Basic4_2.ivar1", "Basic6.ivar1", - "Basic4.ivar1", "Basic4_2.ivar2" - ], - "weak": [ - "_weakPrivateGlobalVariable", "_weakPublicGlobalVariable" - ] - } - } - ], - "flags": [ - { - "attributes": ["not_app_extension_safe"] - } - ], - "install_names": [ - { - "name": "/System/Library/Frameworks/Simple.framework/Versions/A/Simple" - } - ], - "target_info": [ - {"min_deployment": "10.12", "target": "x86_64-macos"} - ] - }, - "tapi_tbd_version": 5 -} - -;--- expected-extra.tbd -{ - "main_library": { - "current_versions": [ - { "version": "1.2.3" } - ], - "exported_symbols": [ - { - "data": { - "global": [ - "_publicGlobalVariable", "_extraGlobalAPI2", - "_extraGlobalAPI1", "_privateGlobalVariable" - ], - "objc_class": [ - "SubClass", "SimpleInternalSPI", - "Basic6", "Basic1", "Base", - "Basic3", "Simple", "Basic4_2", - "Basic5", "FooClass", "Basic9", - "Basic8", "Basic2", "Basic4", - "A", "SimpleInternalAPI", - "ExternalManagedObject" - ], - "objc_eh_type": [ - "SubClass", "SimpleInternalAPI", - "Base", "SimpleInternalSPI" - ], - "objc_ivar": [ - "Basic4.ivar2", "Basic4_2.ivar1", - "Basic6.ivar1", "Basic4.ivar1", - "Basic4_2.ivar2" - ], - "weak": [ - "_weakPrivateGlobalVariable", "_weakPublicGlobalVariable" - ] - } - } - ], - "flags": [ - { - "attributes": [ "not_app_extension_safe"] - } - ], - "install_names": [ - { "name": "/System/Library/Frameworks/Simple.framework/Versions/A/Simple" } - ], - "target_info": [ - { "min_deployment": "10.12", "target": "x86_64-macos" } - ] - }, - "tapi_tbd_version": 5 -} - -;--- inputs.json.in -{ - "headers": [ - { - "path" : "DSTROOT/System/Library/Frameworks/Simple.framework/Headers/Basic.h", - "type" : "public" - }, - { - "path" : "DSTROOT/System/Library/Frameworks/Simple.framework/Headers/External.h", - "type" : "public" - }, - { - "path" : "DSTROOT/System/Library/Frameworks/Simple.framework/Headers/Simple.h", - "type" : "public" - }, - { - "path" : "DSTROOT/System/Library/Frameworks/Simple.framework/Headers/SimpleAPI.h", - "type" : "public" - }, - { - "path" : "DSTROOT/System/Library/Frameworks/Simple.framework/PrivateHeaders/SimplePrivate.h", - "type" : "private" - }, - { - "path" : "DSTROOT/System/Library/Frameworks/Simple.framework/PrivateHeaders/SimplePrivateSPI.h", - "type" : "private" - } - ], - "version": "3" -} - -;--- System/Library/Frameworks/Foundation.framework/Headers/Foundation.h -@interface NSObject -@end - -typedef unsigned char BOOL; -#ifndef NS_AVAILABLE -#define NS_AVAILABLE(x,y) __attribute__((availability(macosx,introduced=x))) -#endif -#ifndef NS_UNAVAILABLE -#define NS_UNAVAILABLE __attribute__((unavailable)) -#endif -#ifndef NS_DEPRECATED_MAC -#define NS_DEPRECATED_MAC(x,y) __attribute__((availability(macosx,introduced=x,deprecated=y,message="" ))); -#endif - -@interface NSManagedObject -@end - -@interface NSSet -@end diff --git a/clang/tools/clang-installapi/InstallAPIOpts.td b/clang/tools/clang-installapi/InstallAPIOpts.td index ab9e1fe7f2f94..87f4c3327e840 100644 --- a/clang/tools/clang-installapi/InstallAPIOpts.td +++ b/clang/tools/clang-installapi/InstallAPIOpts.td @@ -29,35 +29,3 @@ def verify_mode_EQ : Joined<["--"], "verify-mode=">, HelpText<"Specify the severity and extend of the validation. Valid modes are ErrorsOnly, ErrorsAndWarnings, and Pedantic.">; def demangle : Flag<["--", "-"], "demangle">, HelpText<"Demangle symbols when printing warnings and errors">; - -// Additional input options. -def extra_project_header : Separate<["-"], "extra-project-header">, - MetaVarName<"">, - HelpText<"Add additional project header location for parsing">; -def extra_project_header_EQ : Joined<["--"], "extra-project-header=">, - Alias; -def exclude_project_header : Separate<["-"], "exclude-project-header">, - MetaVarName<"">, - HelpText<"Exclude project header from parsing">; -def exclude_project_header_EQ : Joined<["--"], "exclude-project-header=">, - Alias; -def extra_public_header : Separate<["-"], "extra-public-header">, - MetaVarName<"">, - HelpText<"Add additional public header location for parsing">; -def extra_public_header_EQ : Joined<["--"], "extra-public-header=">, - Alias; -def extra_private_header : Separate<["-"], "extra-private-header">, - MetaVarName<"">, - HelpText<"Add additional private header location for parsing">; -def extra_private_header_EQ : Joined<["--"], "extra-private-header=">, - Alias; -def exclude_public_header : Separate<["-"], "exclude-public-header">, - MetaVarName<"">, - HelpText<"Exclude public header from parsing">; -def exclude_public_header_EQ : Joined<["--"], "exclude-public-header=">, - Alias; -def exclude_private_header : Separate<["-"], "exclude-private-header">, - MetaVarName<"">, - HelpText<"Exclude private header from parsing">; -def exclude_private_header_EQ : Joined<["--"], "exclude-private-header=">, - Alias; diff --git a/clang/tools/clang-installapi/Options.cpp b/clang/tools/clang-installapi/Options.cpp index 4f79c62724a62..b8696bb7896d8 100644 --- a/clang/tools/clang-installapi/Options.cpp +++ b/clang/tools/clang-installapi/Options.cpp @@ -10,7 +10,6 @@ #include "clang/Driver/Driver.h" #include "clang/Frontend/FrontendDiagnostic.h" #include "clang/InstallAPI/FileList.h" -#include "clang/InstallAPI/HeaderFile.h" #include "clang/InstallAPI/InstallAPIDiagnostic.h" #include "llvm/Support/Program.h" #include "llvm/TargetParser/Host.h" @@ -182,26 +181,6 @@ bool Options::processFrontendOptions(InputArgList &Args) { return true; } -bool Options::addFilePaths(InputArgList &Args, PathSeq &Headers, - OptSpecifier ID) { - for (const StringRef Path : Args.getAllArgValues(ID)) { - if ((bool)FM->getDirectory(Path, /*CacheFailure=*/false)) { - auto InputHeadersOrErr = enumerateFiles(*FM, Path); - if (!InputHeadersOrErr) { - Diags->Report(diag::err_cannot_open_file) - << Path << toString(InputHeadersOrErr.takeError()); - return false; - } - // Sort headers to ensure deterministic behavior. - sort(*InputHeadersOrErr); - for (std::string &H : *InputHeadersOrErr) - Headers.emplace_back(std::move(H)); - } else - Headers.emplace_back(Path); - } - return true; -} - std::vector Options::processAndFilterOutInstallAPIOptions(ArrayRef Args) { std::unique_ptr Table; @@ -241,35 +220,6 @@ Options::processAndFilterOutInstallAPIOptions(ArrayRef Args) { if (const Arg *A = ParsedArgs.getLastArg(OPT_verify_against)) DriverOpts.DylibToVerify = A->getValue(); - // Handle exclude & extra header directories or files. - auto handleAdditionalInputArgs = [&](PathSeq &Headers, - clang::installapi::ID OptID) { - if (ParsedArgs.hasArgNoClaim(OptID)) - Headers.clear(); - return addFilePaths(ParsedArgs, Headers, OptID); - }; - - if (!handleAdditionalInputArgs(DriverOpts.ExtraPublicHeaders, - OPT_extra_public_header)) - return {}; - - if (!handleAdditionalInputArgs(DriverOpts.ExtraPrivateHeaders, - OPT_extra_private_header)) - return {}; - if (!handleAdditionalInputArgs(DriverOpts.ExtraProjectHeaders, - OPT_extra_project_header)) - return {}; - - if (!handleAdditionalInputArgs(DriverOpts.ExcludePublicHeaders, - OPT_exclude_public_header)) - return {}; - if (!handleAdditionalInputArgs(DriverOpts.ExcludePrivateHeaders, - OPT_exclude_private_header)) - return {}; - if (!handleAdditionalInputArgs(DriverOpts.ExcludeProjectHeaders, - OPT_exclude_project_header)) - return {}; - /// Any unclaimed arguments should be forwarded to the clang driver. std::vector ClangDriverArgs(ParsedArgs.size()); for (const Arg *A : ParsedArgs) { @@ -352,77 +302,6 @@ InstallAPIContext Options::createContext() { return Ctx; } } - // After initial input has been processed, add any extra headers. - auto HandleExtraHeaders = [&](PathSeq &Headers, HeaderType Type) -> bool { - assert(Type != HeaderType::Unknown && "Missing header type."); - for (const StringRef Path : Headers) { - if (!FM->getOptionalFileRef(Path)) { - Diags->Report(diag::err_no_such_header_file) - << Path << (unsigned)Type - 1; - return false; - } - SmallString FullPath(Path); - FM->makeAbsolutePath(FullPath); - - auto IncludeName = createIncludeHeaderName(FullPath); - Ctx.InputHeaders.emplace_back( - FullPath, Type, IncludeName.has_value() ? *IncludeName : ""); - Ctx.InputHeaders.back().setExtra(); - } - return true; - }; - - if (!HandleExtraHeaders(DriverOpts.ExtraPublicHeaders, HeaderType::Public) || - !HandleExtraHeaders(DriverOpts.ExtraPrivateHeaders, - HeaderType::Private) || - !HandleExtraHeaders(DriverOpts.ExtraProjectHeaders, HeaderType::Project)) - return Ctx; - - // After all headers have been added, consider excluded headers. - std::vector> ExcludedHeaderGlobs; - std::set ExcludedHeaderFiles; - auto ParseGlobs = [&](const PathSeq &Paths, HeaderType Type) { - for (const StringRef Path : Paths) { - auto Glob = HeaderGlob::create(Path, Type); - if (Glob) - ExcludedHeaderGlobs.emplace_back(std::move(Glob.get())); - else { - consumeError(Glob.takeError()); - if (auto File = FM->getFileRef(Path)) - ExcludedHeaderFiles.emplace(*File); - else { - Diags->Report(diag::err_no_such_header_file) - << Path << (unsigned)Type; - return false; - } - } - } - return true; - }; - - if (!ParseGlobs(DriverOpts.ExcludePublicHeaders, HeaderType::Public) || - !ParseGlobs(DriverOpts.ExcludePrivateHeaders, HeaderType::Private) || - !ParseGlobs(DriverOpts.ExcludeProjectHeaders, HeaderType::Project)) - return Ctx; - - for (HeaderFile &Header : Ctx.InputHeaders) { - for (auto &Glob : ExcludedHeaderGlobs) - if (Glob->match(Header)) - Header.setExcluded(); - } - if (!ExcludedHeaderFiles.empty()) { - for (HeaderFile &Header : Ctx.InputHeaders) { - auto FileRef = FM->getFileRef(Header.getPath()); - if (!FileRef) - continue; - if (ExcludedHeaderFiles.count(*FileRef)) - Header.setExcluded(); - } - } - // Report if glob was ignored. - for (const auto &Glob : ExcludedHeaderGlobs) - if (!Glob->didMatch()) - Diags->Report(diag::warn_glob_did_not_match) << Glob->str(); // Parse binary dylib and initialize verifier. if (DriverOpts.DylibToVerify.empty()) { diff --git a/clang/tools/clang-installapi/Options.h b/clang/tools/clang-installapi/Options.h index c18309f693701..2beeafc86bb08 100644 --- a/clang/tools/clang-installapi/Options.h +++ b/clang/tools/clang-installapi/Options.h @@ -31,24 +31,6 @@ struct DriverOptions { /// \brief Path to input file lists (JSON). llvm::MachO::PathSeq FileLists; - /// \brief Paths of extra public headers. - PathSeq ExtraPublicHeaders; - - /// \brief Paths of extra private headers. - PathSeq ExtraPrivateHeaders; - - /// \brief Paths of extra project headers. - PathSeq ExtraProjectHeaders; - - /// \brief List of excluded public headers. - PathSeq ExcludePublicHeaders; - - /// \brief List of excluded private headers. - PathSeq ExcludePrivateHeaders; - - /// \brief List of excluded project headers. - PathSeq ExcludeProjectHeaders; - /// \brief Mappings of target triples & tapi targets to build for. std::map Targets; @@ -121,9 +103,6 @@ class Options { std::vector &getClangFrontendArgs() { return FrontendArgs; } private: - bool addFilePaths(llvm::opt::InputArgList &Args, PathSeq &Headers, - llvm::opt::OptSpecifier ID); - DiagnosticsEngine *Diags; FileManager *FM; std::vector FrontendArgs; diff --git a/llvm/include/llvm/TextAPI/Utils.h b/llvm/include/llvm/TextAPI/Utils.h index 319e0abce25b0..31d3c45f9e296 100644 --- a/llvm/include/llvm/TextAPI/Utils.h +++ b/llvm/include/llvm/TextAPI/Utils.h @@ -14,10 +14,8 @@ #define LLVM_TEXTAPI_UTILS_H #include "llvm/ADT/Twine.h" -#include "llvm/Support/Error.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/Path.h" -#include "llvm/Support/Regex.h" #if !defined(PATH_MAX) #define PATH_MAX 1024 @@ -70,10 +68,5 @@ std::error_code make_relative(StringRef From, StringRef To, /// \param IsSymLink Whether path points to a symlink. bool isPrivateLibrary(StringRef Path, bool IsSymLink = false); -/// Create a regex rule from provided glob string. -/// \param Glob String that represents glob input. -/// \return The equivalent regex rule. -llvm::Expected createRegexFromGlob(llvm::StringRef Glob); - } // namespace llvm::MachO #endif // LLVM_TEXTAPI_UTILS_H diff --git a/llvm/lib/TextAPI/Utils.cpp b/llvm/lib/TextAPI/Utils.cpp index 56b63ee01b390..b5c3999a86ea9 100644 --- a/llvm/lib/TextAPI/Utils.cpp +++ b/llvm/lib/TextAPI/Utils.cpp @@ -152,49 +152,3 @@ bool llvm::MachO::isPrivateLibrary(StringRef Path, bool IsSymLink) { } return false; } - -static StringLiteral RegexMetachars = "()^$|+.[]\\{}"; - -llvm::Expected llvm::MachO::createRegexFromGlob(StringRef Glob) { - SmallString<128> RegexString("^"); - unsigned NumWildcards = 0; - for (unsigned i = 0; i < Glob.size(); ++i) { - char C = Glob[i]; - switch (C) { - case '?': - RegexString += '.'; - break; - case '*': { - const char *PrevChar = i > 0 ? Glob.data() + i - 1 : nullptr; - NumWildcards = 1; - ++i; - while (i < Glob.size() && Glob[i] == '*') { - ++NumWildcards; - ++i; - } - const char *NextChar = i < Glob.size() ? Glob.data() + i : nullptr; - - if ((NumWildcards > 1) && (PrevChar == nullptr || *PrevChar == '/') && - (NextChar == nullptr || *NextChar == '/')) { - RegexString += "(([^/]*(/|$))*)"; - } else - RegexString += "([^/]*)"; - break; - } - default: - if (RegexMetachars.find(C) != StringRef::npos) - RegexString.push_back('\\'); - RegexString.push_back(C); - } - } - RegexString.push_back('$'); - if (NumWildcards == 0) - return make_error("not a glob", inconvertibleErrorCode()); - - llvm::Regex Rule = Regex(RegexString); - std::string Error; - if (!Rule.isValid(Error)) - return make_error(Error, inconvertibleErrorCode()); - - return Rule; -}