@@ -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);
@@ -242,6 +243,12 @@ Result NameApplier::UseNameForParamAndLocalVar(Func* func, Var* var) {
242243 return Result::Ok;
243244}
244245
246+ Result NameApplier::UseNameForLabelVar (Var* var) {
247+ std::string_view label = FindLabelByVar (var);
248+ UseNameForVar (label, var);
249+ return Result::Ok;
250+ }
251+
245252Result NameApplier::BeginBlockExpr (BlockExpr* expr) {
246253 PushLabel (expr->block .label );
247254 return Result::Ok;
@@ -342,37 +349,31 @@ Result NameApplier::OnStoreExpr(StoreExpr* expr) {
342349}
343350
344351Result NameApplier::OnBrExpr (BrExpr* expr) {
345- std::string_view label = FindLabelByVar (&expr->var );
346- UseNameForVar (label, &expr->var );
352+ UseNameForLabelVar (&expr->var );
347353 return Result::Ok;
348354}
349355
350356Result NameApplier::OnBrIfExpr (BrIfExpr* expr) {
351- std::string_view label = FindLabelByVar (&expr->var );
352- UseNameForVar (label, &expr->var );
357+ UseNameForLabelVar (&expr->var );
353358 return Result::Ok;
354359}
355360
356361Result NameApplier::OnBrOnNonNullExpr (BrOnNonNullExpr* expr) {
357- std::string_view label = FindLabelByVar (&expr->var );
358- UseNameForVar (label, &expr->var );
362+ UseNameForLabelVar (&expr->var );
359363 return Result::Ok;
360364}
361365
362366Result NameApplier::OnBrOnNullExpr (BrOnNullExpr* expr) {
363- std::string_view label = FindLabelByVar (&expr->var );
364- UseNameForVar (label, &expr->var );
367+ UseNameForLabelVar (&expr->var );
365368 return Result::Ok;
366369}
367370
368371Result NameApplier::OnBrTableExpr (BrTableExpr* expr) {
369372 for (Var& target : expr->targets ) {
370- std::string_view label = FindLabelByVar (&target);
371- UseNameForVar (label, &target);
373+ UseNameForLabelVar (&target);
372374 }
373375
374- std::string_view label = FindLabelByVar (&expr->default_target );
375- UseNameForVar (label, &expr->default_target );
376+ UseNameForLabelVar (&expr->default_target );
376377 return Result::Ok;
377378}
378379
@@ -391,8 +392,7 @@ Result NameApplier::BeginTryTableExpr(TryTableExpr* expr) {
391392 if (!catch_.IsCatchAll ()) {
392393 CHECK_RESULT (UseNameForTagVar (&catch_.tag ));
393394 }
394- std::string_view label = FindLabelByVar (&catch_.target );
395- UseNameForVar (label, &catch_.target );
395+ UseNameForLabelVar (&catch_.target );
396396 }
397397 PushLabel (expr->block .label );
398398 return Result::Ok;
@@ -412,8 +412,7 @@ Result NameApplier::OnCatchExpr(TryExpr*, Catch* expr) {
412412
413413Result NameApplier::OnDelegateExpr (TryExpr* expr) {
414414 PopLabel ();
415- std::string_view label = FindLabelByVar (&expr->delegate_target );
416- UseNameForVar (label, &expr->delegate_target );
415+ UseNameForLabelVar (&expr->delegate_target );
417416 return Result::Ok;
418417}
419418
@@ -423,8 +422,7 @@ Result NameApplier::OnThrowExpr(ThrowExpr* expr) {
423422}
424423
425424Result NameApplier::OnRethrowExpr (RethrowExpr* expr) {
426- std::string_view label = FindLabelByVar (&expr->var );
427- UseNameForVar (label, &expr->var );
425+ UseNameForLabelVar (&expr->var );
428426 return Result::Ok;
429427}
430428
0 commit comments