Lines Matching +full:little +full:- +full:endian
1 //===--- APINotesReader.cpp - API Notes Reader ------------------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
11 // a separate input, such as the non-nil/nilable annotations for
14 //===----------------------------------------------------------------------===//
33 unsigned Major = endian::readNext<uint32_t, llvm::endianness::little>(Data);
37 unsigned Minor = endian::readNext<uint32_t, llvm::endianness::little>(Data);
42 endian::readNext<uint32_t, llvm::endianness::little>(Data);
46 unsigned Build = endian::readNext<uint32_t, llvm::endianness::little>(Data);
50 /// An on-disk hash table whose data is versioned based on the Swift version.
71 endian::readNext<uint16_t, llvm::endianness::little>(Data);
73 endian::readNext<uint16_t, llvm::endianness::little>(Data);
80 endian::readNext<uint16_t, llvm::endianness::little>(Data);
105 endian::readNext<uint16_t, llvm::endianness::little>(Data);
112 endian::readNext<uint16_t, llvm::endianness::little>(Data);
124 endian::readNext<uint16_t, llvm::endianness::little>(Data);
127 SwiftBridgeLength - 1));
128 Data += SwiftBridgeLength - 1;
132 endian::readNext<uint16_t, llvm::endianness::little>(Data);
135 reinterpret_cast<const char *>(Data), ErrorDomainLength - 1)));
136 Data += ErrorDomainLength - 1;
140 /// Used to deserialize the on-disk identifier table.
163 endian::readNext<uint16_t, llvm::endianness::little>(Data);
165 endian::readNext<uint16_t, llvm::endianness::little>(Data);
175 return endian::readNext<uint32_t, llvm::endianness::little>(Data);
179 /// Used to deserialize the on-disk table of Objective-C classes and C++
203 endian::readNext<uint16_t, llvm::endianness::little>(Data);
205 endian::readNext<uint16_t, llvm::endianness::little>(Data);
211 endian::readNext<uint32_t, llvm::endianness::little>(Data);
213 endian::readNext<uint8_t, llvm::endianness::little>(Data);
214 auto NameID = endian::readNext<uint32_t, llvm::endianness::little>(Data);
220 return endian::readNext<uint32_t, llvm::endianness::little>(Data);
224 /// Used to deserialize the on-disk Objective-C property table.
229 return endian::readNext<uint32_t, llvm::endianness::little>(Data);
269 auto TypeLen = endian::readNext<uint16_t, llvm::endianness::little>(Data);
274 /// Used to deserialize the on-disk Objective-C property table.
281 auto ClassID = endian::readNext<uint32_t, llvm::endianness::little>(Data);
282 auto NameID = endian::readNext<uint32_t, llvm::endianness::little>(Data);
283 char IsInstance = endian::readNext<uint8_t, llvm::endianness::little>(Data);
306 uint8_t Payload = endian::readNext<uint8_t, llvm::endianness::little>(Data);
308 auto Convention = static_cast<RetainCountConventionKind>(RawConvention - 1);
322 uint8_t Payload = endian::readNext<uint8_t, llvm::endianness::little>(Data);
324 auto Convention = static_cast<RetainCountConventionKind>(RawConvention - 1);
333 endian::readNext<uint8_t, llvm::endianness::little>(Data);
335 endian::readNext<uint64_t, llvm::endianness::little>(Data);
338 endian::readNext<uint16_t, llvm::endianness::little>(Data);
343 --NumParams;
347 endian::readNext<uint16_t, llvm::endianness::little>(Data);
352 /// Used to deserialize the on-disk Objective-C method table.
359 auto ClassID = endian::readNext<uint32_t, llvm::endianness::little>(Data);
361 endian::readNext<uint32_t, llvm::endianness::little>(Data);
362 auto IsInstance = endian::readNext<uint8_t, llvm::endianness::little>(Data);
384 /// Used to deserialize the on-disk Objective-C selector table.
407 endian::readNext<uint16_t, llvm::endianness::little>(Data);
409 endian::readNext<uint16_t, llvm::endianness::little>(Data);
415 Key.NumArgs = endian::readNext<uint16_t, llvm::endianness::little>(Data);
416 unsigned NumIdents = (Length - sizeof(uint16_t)) / sizeof(uint32_t);
419 endian::readNext<uint32_t, llvm::endianness::little>(Data));
426 return endian::readNext<uint32_t, llvm::endianness::little>(Data);
430 /// Used to deserialize the on-disk global variable table.
436 auto CtxID = endian::readNext<uint32_t, llvm::endianness::little>(Data);
437 auto NameID = endian::readNext<uint32_t, llvm::endianness::little>(Data);
453 /// Used to deserialize the on-disk global function table.
459 auto CtxID = endian::readNext<uint32_t, llvm::endianness::little>(Data);
460 auto NameID = endian::readNext<uint32_t, llvm::endianness::little>(Data);
476 /// Used to deserialize the on-disk C++ method table.
482 auto CtxID = endian::readNext<uint32_t, llvm::endianness::little>(Data);
483 auto NameID = endian::readNext<uint32_t, llvm::endianness::little>(Data);
499 /// Used to deserialize the on-disk enumerator table.
505 auto NameID = endian::readNext<uint32_t, llvm::endianness::little>(Data);
521 /// Used to deserialize the on-disk tag table.
526 auto CtxID = endian::readNext<uint32_t, llvm::endianness::little>(Data);
528 endian::readNext<IdentifierID, llvm::endianness::little>(Data);
545 static_cast<EnumExtensibilityKind>((Payload & 0x3) - 1);
548 endian::readNext<uint8_t, llvm::endianness::little>(Data);
555 endian::readNext<uint16_t, llvm::endianness::little>(Data);
558 std::string(reinterpret_cast<const char *>(Data), ImportAsLength - 1);
559 Data += ImportAsLength - 1;
562 endian::readNext<uint16_t, llvm::endianness::little>(Data);
565 std::string(reinterpret_cast<const char *>(Data), RetainOpLength - 1);
566 Data += RetainOpLength - 1;
569 endian::readNext<uint16_t, llvm::endianness::little>(Data);
572 ReleaseOpLength - 1);
573 Data += ReleaseOpLength - 1;
581 /// Used to deserialize the on-disk typedef table.
587 auto CtxID = endian::readNext<uint32_t, llvm::endianness::little>(Data);
589 endian::readNext<IdentifierID, llvm::endianness::little>(Data);
603 Info.SwiftWrapper = static_cast<SwiftNewTypeKind>((Payload & 0x3) - 1);
635 /// The Objective-C / C++ context ID table.
641 /// The Objective-C context info table.
647 /// The Objective-C property table.
653 /// The Objective-C method table.
665 /// The Objective-C selector table.
739 auto Known = IdentifierTable->find(Str);
740 if (Known == IdentifierTable->end())
762 auto Known = ObjCSelectorTable->find(Key);
763 if (Known == ObjCSelectorTable->end())
789 // Unknown metadata sub-block, possibly for use by a future version of the
874 // Unknown sub-block, possibly for use by a future version of the
950 // Unknown sub-block, possibly for use by a future version of the
977 // Already saw Objective-C / C++ context ID table.
991 // Already saw Objective-C / C++ context info table.
1040 // Unknown sub-block, possibly for use by a future version of the
1067 // Already saw Objective-C property table.
1116 // Unknown sub-block, possibly for use by a future version of the
1143 // Already saw Objective-C method table.
1191 // Unknown sub-block, possibly for use by a future version of the
1266 // Unknown sub-block, possibly for use by a future version of the
1293 // Already saw Objective-C selector table.
1342 // Unknown sub-block, possibly for use by a future version of the
1418 // Unknown sub-block, possibly for use by a future version of the
1494 // Unknown sub-block, possibly for use by a future version of the
1570 // Unknown sub-block, possibly for use by a future version of the
1645 // Unknown sub-block, possibly for use by a future version of the
1709 Implementation->InputBuffer = InputBuffer;
1710 Implementation->SwiftVersion = SwiftVersion;
1711 llvm::BitstreamCursor Cursor(*Implementation->InputBuffer);
1760 Implementation->readControlBlock(Cursor, Scratch)) {
1770 Implementation->readIdentifierBlock(Cursor, Scratch)) {
1778 Implementation->readContextBlock(Cursor, Scratch)) {
1787 Implementation->readObjCPropertyBlock(Cursor, Scratch)) {
1795 Implementation->readObjCMethodBlock(Cursor, Scratch)) {
1803 Implementation->readCXXMethodBlock(Cursor, Scratch)) {
1811 Implementation->readObjCSelectorBlock(Cursor, Scratch)) {
1819 Implementation->readGlobalVariableBlock(Cursor, Scratch)) {
1827 Implementation->readGlobalFunctionBlock(Cursor, Scratch)) {
1835 Implementation->readEnumConstantBlock(Cursor, Scratch)) {
1843 Implementation->readTagBlock(Cursor, Scratch)) {
1851 Implementation->readTypedefBlock(Cursor, Scratch)) {
1858 // Unknown top-level block, possibly for use by a future version of the
1874 APINotesReader::~APINotesReader() { delete Implementation->InputBuffer; }
1898 const std::pair<llvm::VersionTuple, T> &right) -> bool {
1922 -> std::optional<ContextID> {
1923 if (!Implementation->ContextIDTable)
1926 std::optional<IdentifierID> ClassID = Implementation->getIdentifier(Name);
1930 // ObjC classes can't be declared in C++ namespaces, so use -1 as the global
1932 auto KnownID = Implementation->ContextIDTable->find(
1933 ContextTableKey(-1, (uint8_t)ContextKind::ObjCClass, *ClassID));
1934 if (KnownID == Implementation->ContextIDTable->end())
1941 -> VersionedInfo<ContextInfo> {
1942 if (!Implementation->ContextInfoTable)
1949 auto KnownInfo = Implementation->ContextInfoTable->find(CtxID->Value);
1950 if (KnownInfo == Implementation->ContextInfoTable->end())
1953 return {Implementation->SwiftVersion, *KnownInfo};
1957 -> std::optional<ContextID> {
1958 if (!Implementation->ContextIDTable)
1961 std::optional<IdentifierID> classID = Implementation->getIdentifier(Name);
1965 // ObjC classes can't be declared in C++ namespaces, so use -1 as the global
1967 auto KnownID = Implementation->ContextIDTable->find(
1968 ContextTableKey(-1, (uint8_t)ContextKind::ObjCProtocol, *classID));
1969 if (KnownID == Implementation->ContextIDTable->end())
1976 -> VersionedInfo<ContextInfo> {
1977 if (!Implementation->ContextInfoTable)
1984 auto KnownInfo = Implementation->ContextInfoTable->find(CtxID->Value);
1985 if (KnownInfo == Implementation->ContextInfoTable->end())
1988 return {Implementation->SwiftVersion, *KnownInfo};
1993 -> VersionedInfo<ObjCPropertyInfo> {
1994 if (!Implementation->ObjCPropertyTable)
1997 std::optional<IdentifierID> PropertyID = Implementation->getIdentifier(Name);
2001 auto Known = Implementation->ObjCPropertyTable->find(
2003 if (Known == Implementation->ObjCPropertyTable->end())
2006 return {Implementation->SwiftVersion, *Known};
2011 -> VersionedInfo<ObjCMethodInfo> {
2012 if (!Implementation->ObjCMethodTable)
2015 std::optional<SelectorID> SelID = Implementation->getSelector(Selector);
2019 auto Known = Implementation->ObjCMethodTable->find(
2022 if (Known == Implementation->ObjCMethodTable->end())
2025 return {Implementation->SwiftVersion, *Known};
2029 -> VersionedInfo<CXXMethodInfo> {
2030 if (!Implementation->CXXMethodTable)
2033 std::optional<IdentifierID> NameID = Implementation->getIdentifier(Name);
2037 auto Known = Implementation->CXXMethodTable->find(
2039 if (Known == Implementation->CXXMethodTable->end())
2042 return {Implementation->SwiftVersion, *Known};
2047 -> VersionedInfo<GlobalVariableInfo> {
2048 if (!Implementation->GlobalVariableTable)
2051 std::optional<IdentifierID> NameID = Implementation->getIdentifier(Name);
2057 auto Known = Implementation->GlobalVariableTable->find(Key);
2058 if (Known == Implementation->GlobalVariableTable->end())
2061 return {Implementation->SwiftVersion, *Known};
2066 -> VersionedInfo<GlobalFunctionInfo> {
2067 if (!Implementation->GlobalFunctionTable)
2070 std::optional<IdentifierID> NameID = Implementation->getIdentifier(Name);
2076 auto Known = Implementation->GlobalFunctionTable->find(Key);
2077 if (Known == Implementation->GlobalFunctionTable->end())
2080 return {Implementation->SwiftVersion, *Known};
2084 -> VersionedInfo<EnumConstantInfo> {
2085 if (!Implementation->EnumConstantTable)
2088 std::optional<IdentifierID> NameID = Implementation->getIdentifier(Name);
2092 auto Known = Implementation->EnumConstantTable->find(*NameID);
2093 if (Known == Implementation->EnumConstantTable->end())
2096 return {Implementation->SwiftVersion, *Known};
2101 -> std::optional<ContextID> {
2102 if (!Implementation->ContextIDTable)
2105 std::optional<IdentifierID> TagID = Implementation->getIdentifier(Name);
2109 auto KnownID = Implementation->ContextIDTable->find(
2111 if (KnownID == Implementation->ContextIDTable->end())
2118 -> VersionedInfo<TagInfo> {
2119 if (!Implementation->TagTable)
2122 std::optional<IdentifierID> NameID = Implementation->getIdentifier(Name);
2128 auto Known = Implementation->TagTable->find(Key);
2129 if (Known == Implementation->TagTable->end())
2132 return {Implementation->SwiftVersion, *Known};
2137 -> VersionedInfo<TypedefInfo> {
2138 if (!Implementation->TypedefTable)
2141 std::optional<IdentifierID> NameID = Implementation->getIdentifier(Name);
2147 auto Known = Implementation->TypedefTable->find(Key);
2148 if (Known == Implementation->TypedefTable->end())
2151 return {Implementation->SwiftVersion, *Known};
2156 -> std::optional<ContextID> {
2157 if (!Implementation->ContextIDTable)
2160 std::optional<IdentifierID> NamespaceID = Implementation->getIdentifier(Name);
2165 ParentNamespaceID ? ParentNamespaceID->Value : -1;
2166 auto KnownID = Implementation->ContextIDTable->find(
2168 if (KnownID == Implementation->ContextIDTable->end())