@@ -99,6 +99,10 @@ struct StringifyWalker
9999
100100 struct CatchAllStart {};
101101
102+ struct TryTableStart {
103+ TryTable* tryt;
104+ };
105+
102106 struct End {
103107 Expression* curr;
104108 };
@@ -110,6 +114,7 @@ struct StringifyWalker
110114 TryStart,
111115 CatchStart,
112116 CatchAllStart,
117+ TryTableStart,
113118 End>;
114119
115120 Separator reason;
@@ -140,6 +145,9 @@ struct StringifyWalker
140145 static SeparatorReason makeCatchAllStart () {
141146 return SeparatorReason (CatchAllStart{});
142147 }
148+ static SeparatorReason makeTryTableStart (TryTable* tryt) {
149+ return SeparatorReason (TryTableStart{tryt});
150+ }
143151 static SeparatorReason makeEnd () { return SeparatorReason (End{}); }
144152 FuncStart* getFuncStart () { return std::get_if<FuncStart>(&reason); }
145153 BlockStart* getBlockStart () { return std::get_if<BlockStart>(&reason); }
@@ -151,6 +159,9 @@ struct StringifyWalker
151159 CatchAllStart* getCatchAllStart () {
152160 return std::get_if<CatchAllStart>(&reason);
153161 }
162+ TryTableStart* getTryTableStart () {
163+ return std::get_if<TryTableStart>(&reason);
164+ }
154165 End* getEnd () { return std::get_if<End>(&reason); }
155166 };
156167
@@ -173,6 +184,8 @@ struct StringifyWalker
173184 return o << " Catch Start" ;
174185 } else if (reason.getCatchAllStart ()) {
175186 return o << " Catch All Start" ;
187+ } else if (reason.getTryTableStart ()) {
188+ return o << " Try Table Start" ;
176189 } else if (reason.getEnd ()) {
177190 return o << " End" ;
178191 }
0 commit comments