MCPcopy Create free account
hub / github.com/WebAssembly/wabt / HandleDefaultState

Method HandleDefaultState

src/expr-visitor.cc:168–476  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

166}
167
168Result ExprVisitor::HandleDefaultState(Expr* expr) {
169 switch (expr->type()) {
170 case ExprType::AtomicLoad:
171 CHECK_RESULT(delegate_->OnAtomicLoadExpr(cast<AtomicLoadExpr>(expr)));
172 break;
173
174 case ExprType::AtomicStore:
175 CHECK_RESULT(delegate_->OnAtomicStoreExpr(cast<AtomicStoreExpr>(expr)));
176 break;
177
178 case ExprType::AtomicRmw:
179 CHECK_RESULT(delegate_->OnAtomicRmwExpr(cast<AtomicRmwExpr>(expr)));
180 break;
181
182 case ExprType::AtomicRmwCmpxchg:
183 CHECK_RESULT(
184 delegate_->OnAtomicRmwCmpxchgExpr(cast<AtomicRmwCmpxchgExpr>(expr)));
185 break;
186
187 case ExprType::AtomicWait:
188 CHECK_RESULT(delegate_->OnAtomicWaitExpr(cast<AtomicWaitExpr>(expr)));
189 break;
190
191 case ExprType::AtomicFence:
192 CHECK_RESULT(delegate_->OnAtomicFenceExpr(cast<AtomicFenceExpr>(expr)));
193 break;
194
195 case ExprType::AtomicNotify:
196 CHECK_RESULT(delegate_->OnAtomicNotifyExpr(cast<AtomicNotifyExpr>(expr)));
197 break;
198
199 case ExprType::Binary:
200 CHECK_RESULT(delegate_->OnBinaryExpr(cast<BinaryExpr>(expr)));
201 break;
202
203 case ExprType::Quaternary:
204 CHECK_RESULT(delegate_->OnQuaternaryExpr(cast<QuaternaryExpr>(expr)));
205 break;
206
207 case ExprType::Block: {
208 auto block_expr = cast<BlockExpr>(expr);
209 CHECK_RESULT(delegate_->BeginBlockExpr(block_expr));
210 PushExprlist(State::Block, expr, block_expr->block.exprs);
211 break;
212 }
213
214 case ExprType::Br:
215 CHECK_RESULT(delegate_->OnBrExpr(cast<BrExpr>(expr)));
216 break;
217
218 case ExprType::BrIf:
219 CHECK_RESULT(delegate_->OnBrIfExpr(cast<BrIfExpr>(expr)));
220 break;
221
222 case ExprType::BrOnNonNull:
223 CHECK_RESULT(delegate_->OnBrOnNonNullExpr(cast<BrOnNonNullExpr>(expr)));
224 break;
225

Callers

nothing calls this directly

Calls 15

typeMethod · 0.45
OnAtomicLoadExprMethod · 0.45
OnAtomicStoreExprMethod · 0.45
OnAtomicRmwExprMethod · 0.45
OnAtomicWaitExprMethod · 0.45
OnAtomicFenceExprMethod · 0.45
OnAtomicNotifyExprMethod · 0.45
OnBinaryExprMethod · 0.45
OnQuaternaryExprMethod · 0.45
BeginBlockExprMethod · 0.45
OnBrExprMethod · 0.45

Tested by

no test coverage detected