Lines Matching refs:HirFrame

107     stack: RefCell<Vec<HirFrame>>,
134 /// An HirFrame is a single stack frame, represented explicitly, which is
141 enum HirFrame {
186 impl HirFrame {
190 HirFrame::Expr(expr) => expr,
191 _ => panic!("tried to unwrap expr from HirFrame, got: {:?}", self),
199 HirFrame::ClassUnicode(cls) => cls,
202 from HirFrame, got: {:?}",
212 HirFrame::ClassBytes(cls) => cls,
215 from HirFrame, got: {:?}",
226 HirFrame::Group { old_flags } => old_flags,
228 panic!("tried to unwrap group from HirFrame, got: {:?}", self)
249 self.push(HirFrame::ClassUnicode(cls));
252 self.push(HirFrame::ClassBytes(cls));
260 self.push(HirFrame::Group { old_flags });
264 self.push(HirFrame::Concat);
268 self.push(HirFrame::Alternation);
278 self.push(HirFrame::Expr(Hir::empty()));
291 self.push(HirFrame::Expr(Hir::empty()));
294 self.push(HirFrame::Expr(self.hir_literal(x)?));
297 self.push(HirFrame::Expr(self.hir_dot(span)?));
300 self.push(HirFrame::Expr(self.hir_assertion(x)?));
306 self.push(HirFrame::Expr(Hir::class(hcls)));
310 self.push(HirFrame::Expr(Hir::class(hcls)));
315 self.push(HirFrame::Expr(Hir::class(cls)));
332 self.push(HirFrame::Expr(expr));
348 self.push(HirFrame::Expr(expr));
353 self.push(HirFrame::Expr(self.hir_repetition(x, expr)));
359 self.push(HirFrame::Expr(self.hir_group(x, expr)));
363 while let Some(HirFrame::Expr(expr)) = self.pop() {
369 self.push(HirFrame::Expr(Hir::concat(exprs)));
373 while let Some(HirFrame::Expr(expr)) = self.pop() {
377 self.push(HirFrame::Expr(Hir::alternation(exprs)));
391 self.push(HirFrame::ClassUnicode(cls));
394 self.push(HirFrame::ClassBytes(cls));
414 self.push(HirFrame::ClassUnicode(cls));
419 self.push(HirFrame::ClassBytes(cls));
426 self.push(HirFrame::ClassUnicode(cls));
432 self.push(HirFrame::ClassBytes(cls));
440 self.push(HirFrame::ClassUnicode(cls));
445 self.push(HirFrame::ClassBytes(cls));
452 self.push(HirFrame::ClassUnicode(cls));
459 self.push(HirFrame::ClassUnicode(cls));
464 self.push(HirFrame::ClassBytes(cls));
478 self.push(HirFrame::ClassUnicode(cls2));
489 self.push(HirFrame::ClassBytes(cls2));
504 self.push(HirFrame::ClassUnicode(cls));
507 self.push(HirFrame::ClassBytes(cls));
518 self.push(HirFrame::ClassUnicode(cls));
521 self.push(HirFrame::ClassBytes(cls));
556 self.push(HirFrame::ClassUnicode(cls));
571 self.push(HirFrame::ClassBytes(cls));
601 fn push(&self, frame: HirFrame) {
606 fn pop(&self) -> Option<HirFrame> {