Lines Matching refs:hir

7 use crate::hir::visitor::{self, Visitor};
8 use crate::hir::{self, Hir, HirKind};
67 pub fn print<W: fmt::Write>(&mut self, hir: &Hir, wtr: W) -> fmt::Result {
68 visitor::visit(hir, Writer { wtr })
85 fn visit_pre(&mut self, hir: &Hir) -> fmt::Result {
86 match *hir.kind() {
91 HirKind::Literal(hir::Literal::Unicode(c)) => {
94 HirKind::Literal(hir::Literal::Byte(b)) => {
97 HirKind::Class(hir::Class::Unicode(ref cls)) => {
110 HirKind::Class(hir::Class::Bytes(ref cls)) => {
123 HirKind::Anchor(hir::Anchor::StartLine) => {
126 HirKind::Anchor(hir::Anchor::EndLine) => {
129 HirKind::Anchor(hir::Anchor::StartText) => {
132 HirKind::Anchor(hir::Anchor::EndText) => {
135 HirKind::WordBoundary(hir::WordBoundary::Unicode) => {
138 HirKind::WordBoundary(hir::WordBoundary::UnicodeNegate) => {
141 HirKind::WordBoundary(hir::WordBoundary::Ascii) => {
144 HirKind::WordBoundary(hir::WordBoundary::AsciiNegate) => {
148 hir::GroupKind::CaptureIndex(_) => {
151 hir::GroupKind::CaptureName { ref name, .. } => {
154 hir::GroupKind::NonCapturing => {
162 fn visit_post(&mut self, hir: &Hir) -> fmt::Result {
163 match *hir.kind() {
174 hir::RepetitionKind::ZeroOrOne => {
177 hir::RepetitionKind::ZeroOrMore => {
180 hir::RepetitionKind::OneOrMore => {
183 hir::RepetitionKind::Range(ref x) => match *x {
184 hir::RepetitionRange::Exactly(m) => {
187 hir::RepetitionRange::AtLeast(m) => {
190 hir::RepetitionRange::Bounded(m, n) => {
257 let hir = builder.build().parse(given).unwrap();
261 printer.print(&hir, &mut dst).unwrap();