@@ -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+ void UseNameForLabelVar (Var* var);
101102 Result VisitFunc (Index func_index, Func* func);
102103 Result VisitGlobal (Global* global);
103104 Result VisitTag (Tag* tag);
@@ -242,6 +243,11 @@ Result NameApplier::UseNameForParamAndLocalVar(Func* func, Var* var) {
242243 return Result::Ok;
243244}
244245
246+ void NameApplier::UseNameForLabelVar (Var* var) {
247+ std::string_view label = FindLabelByVar (var);
248+ UseNameForVar (label, var);
249+ }
250+
245251Result NameApplier::BeginBlockExpr (BlockExpr* expr) {
246252 PushLabel (expr->block .label );
247253 return Result::Ok;
@@ -342,37 +348,31 @@ Result NameApplier::OnStoreExpr(StoreExpr* expr) {
342348}
343349
344350Result NameApplier::OnBrExpr (BrExpr* expr) {
345- std::string_view label = FindLabelByVar (&expr->var );
346- UseNameForVar (label, &expr->var );
351+ UseNameForLabelVar (&expr->var );
347352 return Result::Ok;
348353}
349354
350355Result NameApplier::OnBrIfExpr (BrIfExpr* expr) {
351- std::string_view label = FindLabelByVar (&expr->var );
352- UseNameForVar (label, &expr->var );
356+ UseNameForLabelVar (&expr->var );
353357 return Result::Ok;
354358}
355359
356360Result NameApplier::OnBrOnNonNullExpr (BrOnNonNullExpr* expr) {
357- std::string_view label = FindLabelByVar (&expr->var );
358- UseNameForVar (label, &expr->var );
361+ UseNameForLabelVar (&expr->var );
359362 return Result::Ok;
360363}
361364
362365Result NameApplier::OnBrOnNullExpr (BrOnNullExpr* expr) {
363- std::string_view label = FindLabelByVar (&expr->var );
364- UseNameForVar (label, &expr->var );
366+ UseNameForLabelVar (&expr->var );
365367 return Result::Ok;
366368}
367369
368370Result NameApplier::OnBrTableExpr (BrTableExpr* expr) {
369371 for (Var& target : expr->targets ) {
370- std::string_view label = FindLabelByVar (&target);
371- UseNameForVar (label, &target);
372+ UseNameForLabelVar (&target);
372373 }
373374
374- std::string_view label = FindLabelByVar (&expr->default_target );
375- UseNameForVar (label, &expr->default_target );
375+ UseNameForLabelVar (&expr->default_target );
376376 return Result::Ok;
377377}
378378
@@ -391,8 +391,7 @@ Result NameApplier::BeginTryTableExpr(TryTableExpr* expr) {
391391 if (!catch_.IsCatchAll ()) {
392392 CHECK_RESULT (UseNameForTagVar (&catch_.tag ));
393393 }
394- std::string_view label = FindLabelByVar (&catch_.target );
395- UseNameForVar (label, &catch_.target );
394+ UseNameForLabelVar (&catch_.target );
396395 }
397396 PushLabel (expr->block .label );
398397 return Result::Ok;
@@ -412,8 +411,7 @@ Result NameApplier::OnCatchExpr(TryExpr*, Catch* expr) {
412411
413412Result NameApplier::OnDelegateExpr (TryExpr* expr) {
414413 PopLabel ();
415- std::string_view label = FindLabelByVar (&expr->delegate_target );
416- UseNameForVar (label, &expr->delegate_target );
414+ UseNameForLabelVar (&expr->delegate_target );
417415 return Result::Ok;
418416}
419417
@@ -423,8 +421,7 @@ Result NameApplier::OnThrowExpr(ThrowExpr* expr) {
423421}
424422
425423Result NameApplier::OnRethrowExpr (RethrowExpr* expr) {
426- std::string_view label = FindLabelByVar (&expr->var );
427- UseNameForVar (label, &expr->var );
424+ UseNameForLabelVar (&expr->var );
428425 return Result::Ok;
429426}
430427
0 commit comments