Lines Matching defs:Cursor
370 DataExtractor::Cursor Cursor(*OffsetPtr);
372 DebugLineData.getInitialLength(Cursor);
375 DWARFDataExtractor(DebugLineData, Cursor.tell() + TotalLength);
376 FormParams.Version = DebugLineData.getU16(Cursor);
377 if (Cursor && !versionIsSupported(getVersion())) {
381 *OffsetPtr = Cursor.tell();
390 FormParams.AddrSize = DebugLineData.getU8(Cursor);
393 if (Cursor) {
410 SegSelectorSize = DebugLineData.getU8(Cursor);
414 DebugLineData.getRelocatedValue(Cursor, sizeofPrologueLength());
415 const uint64_t EndPrologueOffset = PrologueLength + Cursor.tell();
417 MinInstLength = DebugLineData.getU8(Cursor);
419 MaxOpsPerInst = DebugLineData.getU8(Cursor);
420 DefaultIsStmt = DebugLineData.getU8(Cursor);
421 LineBase = DebugLineData.getU8(Cursor);
422 LineRange = DebugLineData.getU8(Cursor);
423 OpcodeBase = DebugLineData.getU8(Cursor);
425 if (Cursor && OpcodeBase == 0) {
434 } else if (Cursor) {
437 uint8_t OpLen = DebugLineData.getU8(Cursor);
442 *OffsetPtr = Cursor.tell();
446 if (!Cursor)
450 PrologueOffset, toString(Cursor.takeError()).c_str());
778 /// Parse a ULEB128 using the specified \p Cursor. \returns the parsed value on
779 /// success, or std::nullopt if \p Cursor is in a failing state.
782 DataExtractor::Cursor &Cursor) {
783 T Value = Data.getULEB128(Cursor);
784 if (Cursor)
864 DataExtractor::Cursor Cursor(*OffsetPtr);
870 uint8_t Opcode = TableData.getU8(Cursor);
873 if (Cursor && Verbose)
879 uint64_t Len = TableData.getULEB128(Cursor);
880 uint64_t ExtOffset = Cursor.tell();
884 if (Cursor && Verbose)
886 if (!Cursor) {
889 RecoverableErrorHandler(Cursor.takeError());
891 *OffsetPtr = Cursor.tell();
895 uint8_t SubOpcode = TableData.getU8(Cursor);
898 uint64_t OperandOffset = Cursor.tell();
911 // No need to test the Cursor is valid here, since it must be to get
951 TableData.skip(Cursor, OpcodeAddressSize);
955 Cursor, &State.Row.Address.SectionIndex);
967 if (Cursor && Verbose) {
999 const char *Name = TableData.getCStr(Cursor);
1002 FileEntry.DirIdx = TableData.getULEB128(Cursor);
1003 FileEntry.ModTime = TableData.getULEB128(Cursor);
1004 FileEntry.Length = TableData.getULEB128(Cursor);
1006 if (Cursor && Verbose)
1014 State.Row.Discriminator = TableData.getULEB128(Cursor);
1015 if (Cursor && Verbose)
1020 if (Cursor && Verbose)
1025 TableData.skip(Cursor, Len - 1);
1033 if (Cursor && Cursor.tell() != End)
1038 ExtOffset, Len, Cursor.tell() - ExtOffset));
1039 if (!Cursor && Verbose) {
1040 DWARFDataExtractor::Cursor ByteCursor(OperandOffset);
1052 // In that case, throw away the error, as the main Cursor's error will
1073 parseULEB128<uint64_t>(TableData, Cursor)) {
1086 int64_t LineDelta = TableData.getSLEB128(Cursor);
1087 if (Cursor) {
1099 parseULEB128<uint16_t>(TableData, Cursor)) {
1110 parseULEB128<uint16_t>(TableData, Cursor)) {
1163 uint16_t PCOffset = TableData.getRelocatedValue(Cursor, 2);
1164 if (Cursor) {
1190 parseULEB128<uint8_t>(TableData, Cursor)) {
1209 parseULEB128<uint64_t>(TableData, Cursor))
1230 *OffsetPtr = Cursor.tell();
1240 *OffsetPtr = Cursor.tell();
1252 if (!Cursor && Opcode != 0) {
1255 return Cursor.takeError();
1258 if (!Cursor)
1259 RecoverableErrorHandler(Cursor.takeError());
1605 DataExtractor::Cursor Cursor(Offset);
1606 auto [TotalLength, _] = DebugLineData.getInitialLength(Cursor);
1607 DWARFDataExtractor HeaderData(DebugLineData, Cursor.tell() + TotalLength);
1608 uint16_t Version = HeaderData.getU16(Cursor);
1609 if (!Cursor) {
1613 consumeError(Cursor.takeError());