@@ -98,6 +98,7 @@ class NameApplier : public ExprVisitor::DelegateNop {
9898 Result UseNameForDataSegmentVar (Var* var);
9999 Result UseNameForElemSegmentVar (Var* var);
100100 Result UseNameForParamAndLocalVar (Func* func, Var* var);
101+ Result UseNameForLabelVar (Var* var);
101102 Result VisitFunc (Index func_index, Func* func);
102103 Result VisitGlobal (Global* global);
103104 Result VisitTag (Tag* tag);
@@ -241,6 +242,12 @@ Result NameApplier::UseNameForParamAndLocalVar(Func* func, Var* var) {
241242 return Result::Ok;
242243}
243244
245+ Result NameApplier::UseNameForLabelVar (Var* var) {
246+ std::string_view label = FindLabelByVar (var);
247+ UseNameForVar (label, var);
248+ return Result::Ok;
249+ }
250+
244251Result NameApplier::BeginBlockExpr (BlockExpr* expr) {
245252 PushLabel (expr->block .label );
246253 return Result::Ok;
@@ -341,37 +348,31 @@ Result NameApplier::OnStoreExpr(StoreExpr* expr) {
341348}
342349
343350Result NameApplier::OnBrExpr (BrExpr* expr) {
344- std::string_view label = FindLabelByVar (&expr->var );
345- UseNameForVar (label, &expr->var );
351+ UseNameForLabelVar (&expr->var );
346352 return Result::Ok;
347353}
348354
349355Result NameApplier::OnBrIfExpr (BrIfExpr* expr) {
350- std::string_view label = FindLabelByVar (&expr->var );
351- UseNameForVar (label, &expr->var );
356+ UseNameForLabelVar (&expr->var );
352357 return Result::Ok;
353358}
354359
355360Result NameApplier::OnBrOnNonNullExpr (BrOnNonNullExpr* expr) {
356- std::string_view label = FindLabelByVar (&expr->var );
357- UseNameForVar (label, &expr->var );
361+ UseNameForLabelVar (&expr->var );
358362 return Result::Ok;
359363}
360364
361365Result NameApplier::OnBrOnNullExpr (BrOnNullExpr* expr) {
362- std::string_view label = FindLabelByVar (&expr->var );
363- UseNameForVar (label, &expr->var );
366+ UseNameForLabelVar (&expr->var );
364367 return Result::Ok;
365368}
366369
367370Result NameApplier::OnBrTableExpr (BrTableExpr* expr) {
368371 for (Var& target : expr->targets ) {
369- std::string_view label = FindLabelByVar (&target);
370- UseNameForVar (label, &target);
372+ UseNameForLabelVar (&target);
371373 }
372374
373- std::string_view label = FindLabelByVar (&expr->default_target );
374- UseNameForVar (label, &expr->default_target );
375+ UseNameForLabelVar (&expr->default_target );
375376 return Result::Ok;
376377}
377378
@@ -390,8 +391,7 @@ Result NameApplier::BeginTryTableExpr(TryTableExpr* expr) {
390391 if (!catch_.IsCatchAll ()) {
391392 CHECK_RESULT (UseNameForTagVar (&catch_.tag ));
392393 }
393- std::string_view label = FindLabelByVar (&catch_.target );
394- UseNameForVar (label, &catch_.target );
394+ UseNameForLabelVar (&catch_.target );
395395 }
396396 PushLabel (expr->block .label );
397397 return Result::Ok;
@@ -411,8 +411,7 @@ Result NameApplier::OnCatchExpr(TryExpr*, Catch* expr) {
411411
412412Result NameApplier::OnDelegateExpr (TryExpr* expr) {
413413 PopLabel ();
414- std::string_view label = FindLabelByVar (&expr->delegate_target );
415- UseNameForVar (label, &expr->delegate_target );
414+ UseNameForLabelVar (&expr->delegate_target );
416415 return Result::Ok;
417416}
418417
@@ -422,8 +421,7 @@ Result NameApplier::OnThrowExpr(ThrowExpr* expr) {
422421}
423422
424423Result NameApplier::OnRethrowExpr (RethrowExpr* expr) {
425- std::string_view label = FindLabelByVar (&expr->var );
426- UseNameForVar (label, &expr->var );
424+ UseNameForLabelVar (&expr->var );
427425 return Result::Ok;
428426}
429427
0 commit comments