@@ -100,8 +100,6 @@ bool decodeRecord(Record R, FieldId &Field, llvm::StringRef Blob) {
100
100
case FieldId::F_parent:
101
101
case FieldId::F_vparent:
102
102
case FieldId::F_type:
103
- case FieldId::F_child_namespace:
104
- case FieldId::F_child_record:
105
103
case FieldId::F_default:
106
104
Field = F;
107
105
return true ;
@@ -374,12 +372,6 @@ template <> void addReference(NamespaceInfo *I, Reference &&R, FieldId F) {
374
372
case FieldId::F_namespace:
375
373
I->Namespace .emplace_back (std::move (R));
376
374
break ;
377
- case FieldId::F_child_namespace:
378
- I->ChildNamespaces .emplace_back (std::move (R));
379
- break ;
380
- case FieldId::F_child_record:
381
- I->ChildRecords .emplace_back (std::move (R));
382
- break ;
383
375
default :
384
376
llvm::errs () << " Invalid field type for info.\n " ;
385
377
exit (1 );
@@ -411,37 +403,12 @@ template <> void addReference(RecordInfo *I, Reference &&R, FieldId F) {
411
403
case FieldId::F_vparent:
412
404
I->VirtualParents .emplace_back (std::move (R));
413
405
break ;
414
- case FieldId::F_child_record:
415
- I->ChildRecords .emplace_back (std::move (R));
416
- break ;
417
406
default :
418
407
llvm::errs () << " Invalid field type for info.\n " ;
419
408
exit (1 );
420
409
}
421
410
}
422
411
423
- template <typename T, typename ChildInfoType>
424
- void addChild (T I, ChildInfoType &&R) {
425
- llvm::errs () << " Invalid child type for info.\n " ;
426
- exit (1 );
427
- }
428
-
429
- template <> void addChild (NamespaceInfo *I, FunctionInfo &&R) {
430
- I->ChildFunctions .emplace_back (std::move (R));
431
- }
432
-
433
- template <> void addChild (NamespaceInfo *I, EnumInfo &&R) {
434
- I->ChildEnums .emplace_back (std::move (R));
435
- }
436
-
437
- template <> void addChild (RecordInfo *I, FunctionInfo &&R) {
438
- I->ChildFunctions .emplace_back (std::move (R));
439
- }
440
-
441
- template <> void addChild (RecordInfo *I, EnumInfo &&R) {
442
- I->ChildEnums .emplace_back (std::move (R));
443
- }
444
-
445
412
// Read records from bitcode into a given info.
446
413
template <typename T> bool ClangDocBitcodeReader::readRecord (unsigned ID, T I) {
447
414
Record R;
@@ -488,8 +455,7 @@ template <typename T> bool ClangDocBitcodeReader::readBlock(unsigned ID, T I) {
488
455
template <typename T>
489
456
bool ClangDocBitcodeReader::readSubBlock (unsigned ID, T I) {
490
457
switch (ID) {
491
- // Blocks can only have Comment, Reference, TypeInfo, FunctionInfo, or
492
- // EnumInfo subblocks
458
+ // Blocks can only have Comment, Reference, or TypeInfo subblocks
493
459
case BI_COMMENT_BLOCK_ID:
494
460
if (readBlock (ID, getCommentInfo (I)))
495
461
return true ;
@@ -526,22 +492,6 @@ bool ClangDocBitcodeReader::readSubBlock(unsigned ID, T I) {
526
492
}
527
493
return false ;
528
494
}
529
- case BI_FUNCTION_BLOCK_ID: {
530
- FunctionInfo F;
531
- if (readBlock (ID, &F)) {
532
- addChild (I, std::move (F));
533
- return true ;
534
- }
535
- return false ;
536
- }
537
- case BI_ENUM_BLOCK_ID: {
538
- EnumInfo E;
539
- if (readBlock (ID, &E)) {
540
- addChild (I, std::move (E));
541
- return true ;
542
- }
543
- return false ;
544
- }
545
495
default :
546
496
llvm::errs () << " Invalid subblock type.\n " ;
547
497
return false ;
@@ -623,21 +573,16 @@ std::unique_ptr<Info> ClangDocBitcodeReader::readBlockToInfo(unsigned ID) {
623
573
}
624
574
625
575
// Entry point
626
- llvm::Expected<std::vector<std::unique_ptr<Info>>>
627
- ClangDocBitcodeReader::readBitcode () {
576
+ std::vector<std::unique_ptr<Info>> ClangDocBitcodeReader::readBitcode () {
628
577
std::vector<std::unique_ptr<Info>> Infos;
629
578
if (!validateStream ())
630
- return llvm::make_error<llvm::StringError>(" Invalid bitcode stream.\n " ,
631
- llvm::inconvertibleErrorCode ());
632
- ;
579
+ return Infos;
633
580
634
581
// Read the top level blocks.
635
582
while (!Stream.AtEndOfStream ()) {
636
583
unsigned Code = Stream.ReadCode ();
637
584
if (Code != llvm::bitc::ENTER_SUBBLOCK)
638
- return llvm::make_error<llvm::StringError>(
639
- " Missing subblock in bitcode.\n " , llvm::inconvertibleErrorCode ());
640
- ;
585
+ return Infos;
641
586
642
587
unsigned ID = Stream.ReadSubBlockID ();
643
588
switch (ID) {
@@ -647,30 +592,24 @@ ClangDocBitcodeReader::readBitcode() {
647
592
case BI_MEMBER_TYPE_BLOCK_ID:
648
593
case BI_COMMENT_BLOCK_ID:
649
594
case BI_REFERENCE_BLOCK_ID:
650
- return llvm::make_error<llvm::StringError>(
651
- " Invalid top level block in bitcode.\n " ,
652
- llvm::inconvertibleErrorCode ());
653
- ;
595
+ llvm::errs () << " Invalid top level block.\n " ;
596
+ return Infos;
654
597
case BI_NAMESPACE_BLOCK_ID:
655
598
case BI_RECORD_BLOCK_ID:
656
599
case BI_ENUM_BLOCK_ID:
657
600
case BI_FUNCTION_BLOCK_ID:
658
- if (std::unique_ptr<Info> I = readBlockToInfo (ID))
601
+ if (std::unique_ptr<Info> I = readBlockToInfo (ID)) {
659
602
Infos.emplace_back (std::move (I));
603
+ }
660
604
return Infos;
661
605
case BI_VERSION_BLOCK_ID:
662
606
if (readBlock (ID, VersionNumber))
663
607
continue ;
664
- return llvm::make_error<llvm::StringError>(
665
- " Invalid bitcode version in bitcode.\n " ,
666
- llvm::inconvertibleErrorCode ());
667
- ;
608
+ return Infos;
668
609
case llvm::bitc::BLOCKINFO_BLOCK_ID:
669
610
if (readBlockInfoBlock ())
670
611
continue ;
671
- return llvm::make_error<llvm::StringError>(
672
- " Invalid BlockInfo in bitcode.\n " , llvm::inconvertibleErrorCode ());
673
- ;
612
+ return Infos;
674
613
default :
675
614
if (!Stream.SkipBlock ())
676
615
continue ;
0 commit comments