Delete provisional syntax for capabilities
[hiphop-php.git] / hphp / hack / src / parser / syntax_by_ref / syntax_impl_generated.rs
blobfcfbdb367432f8f0c802fa31aee1f8adff5db495
1 /**
2  * Copyright (c) 2016, Facebook, Inc.
3  * All rights reserved.
4  *
5  * This source code is licensed under the MIT license found in the
6  * LICENSE file in the "hack" directory of this source tree. An additional
7  * directory.
8  *
9  **
10  *
11  * THIS FILE IS @generated; DO NOT EDIT IT
12  * To regenerate this file, run
13  *
14  *   buck run //hphp/hack/src:generate_full_fidelity
15  *
16  **
17  *
18  */
19 use crate::{syntax_kind::SyntaxKind, lexable_token::LexableToken};
20 use super::{syntax::Syntax, syntax_variant_generated::SyntaxVariant};
22 impl<T: LexableToken, V> Syntax<'_, T, V> {
23     pub fn kind(&self) -> SyntaxKind {
24         match &self.children {
25             SyntaxVariant::Missing => SyntaxKind::Missing,
26             SyntaxVariant::Token (t) => SyntaxKind::Token(t.kind()),
27             SyntaxVariant::SyntaxList (_) => SyntaxKind::SyntaxList,
28             SyntaxVariant::EndOfFile {..} => SyntaxKind::EndOfFile,
29             SyntaxVariant::Script {..} => SyntaxKind::Script,
30             SyntaxVariant::QualifiedName {..} => SyntaxKind::QualifiedName,
31             SyntaxVariant::SimpleTypeSpecifier {..} => SyntaxKind::SimpleTypeSpecifier,
32             SyntaxVariant::LiteralExpression {..} => SyntaxKind::LiteralExpression,
33             SyntaxVariant::PrefixedStringExpression {..} => SyntaxKind::PrefixedStringExpression,
34             SyntaxVariant::PrefixedCodeExpression {..} => SyntaxKind::PrefixedCodeExpression,
35             SyntaxVariant::VariableExpression {..} => SyntaxKind::VariableExpression,
36             SyntaxVariant::PipeVariableExpression {..} => SyntaxKind::PipeVariableExpression,
37             SyntaxVariant::FileAttributeSpecification {..} => SyntaxKind::FileAttributeSpecification,
38             SyntaxVariant::EnumDeclaration {..} => SyntaxKind::EnumDeclaration,
39             SyntaxVariant::Enumerator {..} => SyntaxKind::Enumerator,
40             SyntaxVariant::EnumClassDeclaration {..} => SyntaxKind::EnumClassDeclaration,
41             SyntaxVariant::EnumClassEnumerator {..} => SyntaxKind::EnumClassEnumerator,
42             SyntaxVariant::RecordDeclaration {..} => SyntaxKind::RecordDeclaration,
43             SyntaxVariant::RecordField {..} => SyntaxKind::RecordField,
44             SyntaxVariant::AliasDeclaration {..} => SyntaxKind::AliasDeclaration,
45             SyntaxVariant::PropertyDeclaration {..} => SyntaxKind::PropertyDeclaration,
46             SyntaxVariant::PropertyDeclarator {..} => SyntaxKind::PropertyDeclarator,
47             SyntaxVariant::NamespaceDeclaration {..} => SyntaxKind::NamespaceDeclaration,
48             SyntaxVariant::NamespaceDeclarationHeader {..} => SyntaxKind::NamespaceDeclarationHeader,
49             SyntaxVariant::NamespaceBody {..} => SyntaxKind::NamespaceBody,
50             SyntaxVariant::NamespaceEmptyBody {..} => SyntaxKind::NamespaceEmptyBody,
51             SyntaxVariant::NamespaceUseDeclaration {..} => SyntaxKind::NamespaceUseDeclaration,
52             SyntaxVariant::NamespaceGroupUseDeclaration {..} => SyntaxKind::NamespaceGroupUseDeclaration,
53             SyntaxVariant::NamespaceUseClause {..} => SyntaxKind::NamespaceUseClause,
54             SyntaxVariant::FunctionDeclaration {..} => SyntaxKind::FunctionDeclaration,
55             SyntaxVariant::FunctionDeclarationHeader {..} => SyntaxKind::FunctionDeclarationHeader,
56             SyntaxVariant::Capability {..} => SyntaxKind::Capability,
57             SyntaxVariant::WhereClause {..} => SyntaxKind::WhereClause,
58             SyntaxVariant::WhereConstraint {..} => SyntaxKind::WhereConstraint,
59             SyntaxVariant::MethodishDeclaration {..} => SyntaxKind::MethodishDeclaration,
60             SyntaxVariant::MethodishTraitResolution {..} => SyntaxKind::MethodishTraitResolution,
61             SyntaxVariant::ClassishDeclaration {..} => SyntaxKind::ClassishDeclaration,
62             SyntaxVariant::ClassishBody {..} => SyntaxKind::ClassishBody,
63             SyntaxVariant::TraitUsePrecedenceItem {..} => SyntaxKind::TraitUsePrecedenceItem,
64             SyntaxVariant::TraitUseAliasItem {..} => SyntaxKind::TraitUseAliasItem,
65             SyntaxVariant::TraitUseConflictResolution {..} => SyntaxKind::TraitUseConflictResolution,
66             SyntaxVariant::TraitUse {..} => SyntaxKind::TraitUse,
67             SyntaxVariant::RequireClause {..} => SyntaxKind::RequireClause,
68             SyntaxVariant::ConstDeclaration {..} => SyntaxKind::ConstDeclaration,
69             SyntaxVariant::ConstantDeclarator {..} => SyntaxKind::ConstantDeclarator,
70             SyntaxVariant::TypeConstDeclaration {..} => SyntaxKind::TypeConstDeclaration,
71             SyntaxVariant::DecoratedExpression {..} => SyntaxKind::DecoratedExpression,
72             SyntaxVariant::ParameterDeclaration {..} => SyntaxKind::ParameterDeclaration,
73             SyntaxVariant::VariadicParameter {..} => SyntaxKind::VariadicParameter,
74             SyntaxVariant::OldAttributeSpecification {..} => SyntaxKind::OldAttributeSpecification,
75             SyntaxVariant::AttributeSpecification {..} => SyntaxKind::AttributeSpecification,
76             SyntaxVariant::Attribute {..} => SyntaxKind::Attribute,
77             SyntaxVariant::InclusionExpression {..} => SyntaxKind::InclusionExpression,
78             SyntaxVariant::InclusionDirective {..} => SyntaxKind::InclusionDirective,
79             SyntaxVariant::CompoundStatement {..} => SyntaxKind::CompoundStatement,
80             SyntaxVariant::ExpressionStatement {..} => SyntaxKind::ExpressionStatement,
81             SyntaxVariant::MarkupSection {..} => SyntaxKind::MarkupSection,
82             SyntaxVariant::MarkupSuffix {..} => SyntaxKind::MarkupSuffix,
83             SyntaxVariant::UnsetStatement {..} => SyntaxKind::UnsetStatement,
84             SyntaxVariant::UsingStatementBlockScoped {..} => SyntaxKind::UsingStatementBlockScoped,
85             SyntaxVariant::UsingStatementFunctionScoped {..} => SyntaxKind::UsingStatementFunctionScoped,
86             SyntaxVariant::WhileStatement {..} => SyntaxKind::WhileStatement,
87             SyntaxVariant::IfStatement {..} => SyntaxKind::IfStatement,
88             SyntaxVariant::ElseifClause {..} => SyntaxKind::ElseifClause,
89             SyntaxVariant::ElseClause {..} => SyntaxKind::ElseClause,
90             SyntaxVariant::TryStatement {..} => SyntaxKind::TryStatement,
91             SyntaxVariant::CatchClause {..} => SyntaxKind::CatchClause,
92             SyntaxVariant::FinallyClause {..} => SyntaxKind::FinallyClause,
93             SyntaxVariant::DoStatement {..} => SyntaxKind::DoStatement,
94             SyntaxVariant::ForStatement {..} => SyntaxKind::ForStatement,
95             SyntaxVariant::ForeachStatement {..} => SyntaxKind::ForeachStatement,
96             SyntaxVariant::SwitchStatement {..} => SyntaxKind::SwitchStatement,
97             SyntaxVariant::SwitchSection {..} => SyntaxKind::SwitchSection,
98             SyntaxVariant::SwitchFallthrough {..} => SyntaxKind::SwitchFallthrough,
99             SyntaxVariant::CaseLabel {..} => SyntaxKind::CaseLabel,
100             SyntaxVariant::DefaultLabel {..} => SyntaxKind::DefaultLabel,
101             SyntaxVariant::ReturnStatement {..} => SyntaxKind::ReturnStatement,
102             SyntaxVariant::ThrowStatement {..} => SyntaxKind::ThrowStatement,
103             SyntaxVariant::BreakStatement {..} => SyntaxKind::BreakStatement,
104             SyntaxVariant::ContinueStatement {..} => SyntaxKind::ContinueStatement,
105             SyntaxVariant::EchoStatement {..} => SyntaxKind::EchoStatement,
106             SyntaxVariant::ConcurrentStatement {..} => SyntaxKind::ConcurrentStatement,
107             SyntaxVariant::SimpleInitializer {..} => SyntaxKind::SimpleInitializer,
108             SyntaxVariant::AnonymousClass {..} => SyntaxKind::AnonymousClass,
109             SyntaxVariant::AnonymousFunction {..} => SyntaxKind::AnonymousFunction,
110             SyntaxVariant::AnonymousFunctionUseClause {..} => SyntaxKind::AnonymousFunctionUseClause,
111             SyntaxVariant::LambdaExpression {..} => SyntaxKind::LambdaExpression,
112             SyntaxVariant::LambdaSignature {..} => SyntaxKind::LambdaSignature,
113             SyntaxVariant::CastExpression {..} => SyntaxKind::CastExpression,
114             SyntaxVariant::ScopeResolutionExpression {..} => SyntaxKind::ScopeResolutionExpression,
115             SyntaxVariant::MemberSelectionExpression {..} => SyntaxKind::MemberSelectionExpression,
116             SyntaxVariant::SafeMemberSelectionExpression {..} => SyntaxKind::SafeMemberSelectionExpression,
117             SyntaxVariant::EmbeddedMemberSelectionExpression {..} => SyntaxKind::EmbeddedMemberSelectionExpression,
118             SyntaxVariant::YieldExpression {..} => SyntaxKind::YieldExpression,
119             SyntaxVariant::PrefixUnaryExpression {..} => SyntaxKind::PrefixUnaryExpression,
120             SyntaxVariant::PostfixUnaryExpression {..} => SyntaxKind::PostfixUnaryExpression,
121             SyntaxVariant::BinaryExpression {..} => SyntaxKind::BinaryExpression,
122             SyntaxVariant::IsExpression {..} => SyntaxKind::IsExpression,
123             SyntaxVariant::AsExpression {..} => SyntaxKind::AsExpression,
124             SyntaxVariant::NullableAsExpression {..} => SyntaxKind::NullableAsExpression,
125             SyntaxVariant::ConditionalExpression {..} => SyntaxKind::ConditionalExpression,
126             SyntaxVariant::EvalExpression {..} => SyntaxKind::EvalExpression,
127             SyntaxVariant::DefineExpression {..} => SyntaxKind::DefineExpression,
128             SyntaxVariant::IssetExpression {..} => SyntaxKind::IssetExpression,
129             SyntaxVariant::FunctionCallExpression {..} => SyntaxKind::FunctionCallExpression,
130             SyntaxVariant::FunctionPointerExpression {..} => SyntaxKind::FunctionPointerExpression,
131             SyntaxVariant::ParenthesizedExpression {..} => SyntaxKind::ParenthesizedExpression,
132             SyntaxVariant::BracedExpression {..} => SyntaxKind::BracedExpression,
133             SyntaxVariant::EmbeddedBracedExpression {..} => SyntaxKind::EmbeddedBracedExpression,
134             SyntaxVariant::ListExpression {..} => SyntaxKind::ListExpression,
135             SyntaxVariant::CollectionLiteralExpression {..} => SyntaxKind::CollectionLiteralExpression,
136             SyntaxVariant::ObjectCreationExpression {..} => SyntaxKind::ObjectCreationExpression,
137             SyntaxVariant::ConstructorCall {..} => SyntaxKind::ConstructorCall,
138             SyntaxVariant::RecordCreationExpression {..} => SyntaxKind::RecordCreationExpression,
139             SyntaxVariant::DarrayIntrinsicExpression {..} => SyntaxKind::DarrayIntrinsicExpression,
140             SyntaxVariant::DictionaryIntrinsicExpression {..} => SyntaxKind::DictionaryIntrinsicExpression,
141             SyntaxVariant::KeysetIntrinsicExpression {..} => SyntaxKind::KeysetIntrinsicExpression,
142             SyntaxVariant::VarrayIntrinsicExpression {..} => SyntaxKind::VarrayIntrinsicExpression,
143             SyntaxVariant::VectorIntrinsicExpression {..} => SyntaxKind::VectorIntrinsicExpression,
144             SyntaxVariant::ElementInitializer {..} => SyntaxKind::ElementInitializer,
145             SyntaxVariant::SubscriptExpression {..} => SyntaxKind::SubscriptExpression,
146             SyntaxVariant::EmbeddedSubscriptExpression {..} => SyntaxKind::EmbeddedSubscriptExpression,
147             SyntaxVariant::AwaitableCreationExpression {..} => SyntaxKind::AwaitableCreationExpression,
148             SyntaxVariant::XHPChildrenDeclaration {..} => SyntaxKind::XHPChildrenDeclaration,
149             SyntaxVariant::XHPChildrenParenthesizedList {..} => SyntaxKind::XHPChildrenParenthesizedList,
150             SyntaxVariant::XHPCategoryDeclaration {..} => SyntaxKind::XHPCategoryDeclaration,
151             SyntaxVariant::XHPEnumType {..} => SyntaxKind::XHPEnumType,
152             SyntaxVariant::XHPLateinit {..} => SyntaxKind::XHPLateinit,
153             SyntaxVariant::XHPRequired {..} => SyntaxKind::XHPRequired,
154             SyntaxVariant::XHPClassAttributeDeclaration {..} => SyntaxKind::XHPClassAttributeDeclaration,
155             SyntaxVariant::XHPClassAttribute {..} => SyntaxKind::XHPClassAttribute,
156             SyntaxVariant::XHPSimpleClassAttribute {..} => SyntaxKind::XHPSimpleClassAttribute,
157             SyntaxVariant::XHPSimpleAttribute {..} => SyntaxKind::XHPSimpleAttribute,
158             SyntaxVariant::XHPSpreadAttribute {..} => SyntaxKind::XHPSpreadAttribute,
159             SyntaxVariant::XHPOpen {..} => SyntaxKind::XHPOpen,
160             SyntaxVariant::XHPExpression {..} => SyntaxKind::XHPExpression,
161             SyntaxVariant::XHPClose {..} => SyntaxKind::XHPClose,
162             SyntaxVariant::TypeConstant {..} => SyntaxKind::TypeConstant,
163             SyntaxVariant::VectorTypeSpecifier {..} => SyntaxKind::VectorTypeSpecifier,
164             SyntaxVariant::KeysetTypeSpecifier {..} => SyntaxKind::KeysetTypeSpecifier,
165             SyntaxVariant::TupleTypeExplicitSpecifier {..} => SyntaxKind::TupleTypeExplicitSpecifier,
166             SyntaxVariant::VarrayTypeSpecifier {..} => SyntaxKind::VarrayTypeSpecifier,
167             SyntaxVariant::TypeParameter {..} => SyntaxKind::TypeParameter,
168             SyntaxVariant::TypeConstraint {..} => SyntaxKind::TypeConstraint,
169             SyntaxVariant::DarrayTypeSpecifier {..} => SyntaxKind::DarrayTypeSpecifier,
170             SyntaxVariant::DictionaryTypeSpecifier {..} => SyntaxKind::DictionaryTypeSpecifier,
171             SyntaxVariant::ClosureTypeSpecifier {..} => SyntaxKind::ClosureTypeSpecifier,
172             SyntaxVariant::ClosureParameterTypeSpecifier {..} => SyntaxKind::ClosureParameterTypeSpecifier,
173             SyntaxVariant::ClassnameTypeSpecifier {..} => SyntaxKind::ClassnameTypeSpecifier,
174             SyntaxVariant::FieldSpecifier {..} => SyntaxKind::FieldSpecifier,
175             SyntaxVariant::FieldInitializer {..} => SyntaxKind::FieldInitializer,
176             SyntaxVariant::ShapeTypeSpecifier {..} => SyntaxKind::ShapeTypeSpecifier,
177             SyntaxVariant::ShapeExpression {..} => SyntaxKind::ShapeExpression,
178             SyntaxVariant::TupleExpression {..} => SyntaxKind::TupleExpression,
179             SyntaxVariant::GenericTypeSpecifier {..} => SyntaxKind::GenericTypeSpecifier,
180             SyntaxVariant::NullableTypeSpecifier {..} => SyntaxKind::NullableTypeSpecifier,
181             SyntaxVariant::LikeTypeSpecifier {..} => SyntaxKind::LikeTypeSpecifier,
182             SyntaxVariant::SoftTypeSpecifier {..} => SyntaxKind::SoftTypeSpecifier,
183             SyntaxVariant::AttributizedSpecifier {..} => SyntaxKind::AttributizedSpecifier,
184             SyntaxVariant::ReifiedTypeArgument {..} => SyntaxKind::ReifiedTypeArgument,
185             SyntaxVariant::TypeArguments {..} => SyntaxKind::TypeArguments,
186             SyntaxVariant::TypeParameters {..} => SyntaxKind::TypeParameters,
187             SyntaxVariant::TupleTypeSpecifier {..} => SyntaxKind::TupleTypeSpecifier,
188             SyntaxVariant::UnionTypeSpecifier {..} => SyntaxKind::UnionTypeSpecifier,
189             SyntaxVariant::IntersectionTypeSpecifier {..} => SyntaxKind::IntersectionTypeSpecifier,
190             SyntaxVariant::ErrorSyntax {..} => SyntaxKind::ErrorSyntax,
191             SyntaxVariant::ListItem {..} => SyntaxKind::ListItem,
192             SyntaxVariant::EnumAtomExpression {..} => SyntaxKind::EnumAtomExpression,
193         }
194     }
196