php_parser_rs/parser/ast/
goto.rs1use schemars::JsonSchema;
2use serde::Deserialize;
3use serde::Serialize;
4
5use crate::lexer::token::Span;
6use crate::node::Node;
7use crate::parser::ast::comments::CommentGroup;
8use crate::parser::ast::identifiers::SimpleIdentifier;
9
10#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize, JsonSchema)]
11
12pub struct LabelStatement {
13 pub comments: CommentGroup,
14 pub label: SimpleIdentifier, pub colon: Span, }
17
18impl Node for LabelStatement {
19 fn children(&mut self) -> Vec<&mut dyn Node> {
20 vec![&mut self.label]
21 }
22}
23
24#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize, JsonSchema)]
25
26pub struct GotoStatement {
27 pub comments: CommentGroup,
28 pub keyword: Span, pub label: SimpleIdentifier, pub semicolon: Span, }
32
33impl Node for GotoStatement {
34 fn children(&mut self) -> Vec<&mut dyn Node> {
35 vec![&mut self.label]
36 }
37}