Lines Matching defs:Cursor

371   DataExtractor::Cursor Cursor(*OffsetPtr);
373 DebugLineData.getInitialLength(Cursor);
376 DWARFDataExtractor(DebugLineData, Cursor.tell() + TotalLength);
377 FormParams.Version = DebugLineData.getU16(Cursor);
378 if (Cursor && !versionIsSupported(getVersion())) {
382 *OffsetPtr = Cursor.tell();
391 FormParams.AddrSize = DebugLineData.getU8(Cursor);
394 if (Cursor) {
411 SegSelectorSize = DebugLineData.getU8(Cursor);
415 DebugLineData.getRelocatedValue(Cursor, sizeofPrologueLength());
416 const uint64_t EndPrologueOffset = PrologueLength + Cursor.tell();
418 MinInstLength = DebugLineData.getU8(Cursor);
420 MaxOpsPerInst = DebugLineData.getU8(Cursor);
421 DefaultIsStmt = DebugLineData.getU8(Cursor);
422 LineBase = DebugLineData.getU8(Cursor);
423 LineRange = DebugLineData.getU8(Cursor);
424 OpcodeBase = DebugLineData.getU8(Cursor);
426 if (Cursor && OpcodeBase == 0) {
435 } else if (Cursor) {
438 uint8_t OpLen = DebugLineData.getU8(Cursor);
443 *OffsetPtr = Cursor.tell();
447 if (!Cursor)
451 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) {
998 const char *Name = TableData.getCStr(Cursor);
1001 FileEntry.DirIdx = TableData.getULEB128(Cursor);
1002 FileEntry.ModTime = TableData.getULEB128(Cursor);
1003 FileEntry.Length = TableData.getULEB128(Cursor);
1005 if (Cursor && Verbose)
1013 State.Row.Discriminator = TableData.getULEB128(Cursor);
1014 if (Cursor && Verbose)
1019 if (Cursor && Verbose)
1024 TableData.skip(Cursor, Len - 1);
1032 if (Cursor && Cursor.tell() != End)
1037 ExtOffset, Len, Cursor.tell() - ExtOffset));
1038 if (!Cursor && Verbose) {
1039 DWARFDataExtractor::Cursor ByteCursor(OperandOffset);
1051 // In that case, throw away the error, as the main Cursor's error will
1072 parseULEB128<uint64_t>(TableData, Cursor)) {
1085 int64_t LineDelta = TableData.getSLEB128(Cursor);
1086 if (Cursor) {
1098 parseULEB128<uint16_t>(TableData, Cursor)) {
1109 parseULEB128<uint16_t>(TableData, Cursor)) {
1163 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());
1582 DataExtractor::Cursor Cursor(Offset);
1583 auto [TotalLength, _] = DebugLineData.getInitialLength(Cursor);
1584 DWARFDataExtractor HeaderData(DebugLineData, Cursor.tell() + TotalLength);
1585 uint16_t Version = HeaderData.getU16(Cursor);
1586 if (!Cursor) {
1590 consumeError(Cursor.takeError());