@@ -255,18 +255,19 @@ class JavadocBlock
255
255
: public BitcodeReader::AnyBlock
256
256
{
257
257
BitcodeReader& br_;
258
- Javadoc& jd_ ;
258
+ llvm::Optional< Javadoc>& I_ ;
259
259
AnyNodeList J_;
260
260
AnyNodeList* stack_ = nullptr ;
261
261
262
262
public:
263
263
JavadocBlock (
264
- Javadoc& jd ,
264
+ llvm::Optional< Javadoc>& I ,
265
265
BitcodeReader& br) noexcept
266
266
: br_(br)
267
- , jd_(jd )
267
+ , I_(I )
268
268
, J_(stack_)
269
269
{
270
+ I_.emplace ();
270
271
}
271
272
272
273
llvm::Error
@@ -280,7 +281,7 @@ class JavadocBlock
280
281
JavadocNodesBlock B (stack_, br_);
281
282
if (auto Err = br_.readBlock (B, ID))
282
283
return Err;
283
- if (auto Err = B.J .spliceInto (jd_. getBlocks ()))
284
+ if (auto Err = B.J .spliceInto (I_-> getBlocks ()))
284
285
return Err;
285
286
return llvm::Error::success ();
286
287
}
@@ -346,11 +347,8 @@ class InfoPartBlock
346
347
}
347
348
case BI_JAVADOC_BLOCK_ID:
348
349
{
349
- I.javadoc .emplace ();
350
- JavadocBlock B (*I.javadoc , br_);
351
- if (auto Err = br_.readBlock (B, ID))
352
- return Err;
353
- return llvm::Error::success ();
350
+ JavadocBlock B (I.javadoc , br_);
351
+ return br_.readBlock (B, ID);
354
352
}
355
353
default :
356
354
break ;
@@ -542,11 +540,8 @@ class MemberTypeBlock
542
540
}
543
541
case BI_JAVADOC_BLOCK_ID:
544
542
{
545
- I_.javadoc .emplace ();
546
- JavadocBlock B (*I_.javadoc , br_);
547
- if (auto Err = br_.readBlock (B, ID))
548
- return Err;
549
- return llvm::Error::success ();
543
+ JavadocBlock B (I_.javadoc , br_);
544
+ return br_.readBlock (B, ID);
550
545
}
551
546
default :
552
547
return AnyBlock::readSubBlock (ID);
0 commit comments