rust-code-analysis 0.0.25

Tool to compute and export code metrics
Documentation
// Code generated; DO NOT EDIT.

use num_derive::FromPrimitive;

#[derive(Clone, Debug, PartialEq, Eq, FromPrimitive)]
pub enum Java {
    End = 0,
    Identifier = 1,
    DecimalIntegerLiteral = 2,
    HexIntegerLiteral = 3,
    OctalIntegerLiteral = 4,
    BinaryIntegerLiteral = 5,
    DecimalFloatingPointLiteral = 6,
    HexFloatingPointLiteral = 7,
    True = 8,
    False = 9,
    CharacterLiteral = 10,
    StringLiteral = 11,
    TextBlock = 12,
    NullLiteral = 13,
    LPAREN = 14,
    AMP = 15,
    RPAREN = 16,
    EQ = 17,
    PLUSEQ = 18,
    DASHEQ = 19,
    STAREQ = 20,
    SLASHEQ = 21,
    AMPEQ = 22,
    PIPEEQ = 23,
    CARETEQ = 24,
    PERCENTEQ = 25,
    LTLTEQ = 26,
    GTGTEQ = 27,
    GTGTGTEQ = 28,
    GT = 29,
    LT = 30,
    GTEQ = 31,
    LTEQ = 32,
    EQEQ = 33,
    BANGEQ = 34,
    AMPAMP = 35,
    PIPEPIPE = 36,
    PLUS = 37,
    DASH = 38,
    STAR = 39,
    SLASH = 40,
    PIPE = 41,
    CARET = 42,
    PERCENT = 43,
    LTLT = 44,
    GTGT = 45,
    GTGTGT = 46,
    Instanceof = 47,
    Final = 48,
    DASHGT = 49,
    COMMA = 50,
    QMARK = 51,
    COLON = 52,
    BANG = 53,
    TILDE = 54,
    PLUSPLUS = 55,
    DASHDASH = 56,
    New = 57,
    LBRACK = 58,
    RBRACK = 59,
    DOT = 60,
    Class = 61,
    COLONCOLON = 62,
    Extends = 63,
    Switch = 64,
    LBRACE = 65,
    RBRACE = 66,
    Case = 67,
    Default = 68,
    SEMI = 69,
    Assert = 70,
    Do = 71,
    While = 72,
    Break = 73,
    Continue = 74,
    Return = 75,
    Yield = 76,
    Synchronized = 77,
    Throw = 78,
    Try = 79,
    Catch = 80,
    Finally = 81,
    If = 82,
    Else = 83,
    For = 84,
    AT = 85,
    Open = 86,
    Module = 87,
    Requires = 88,
    Transitive = 89,
    Static = 90,
    Exports = 91,
    To = 92,
    Opens = 93,
    Uses = 94,
    Provides = 95,
    With = 96,
    Package = 97,
    Import = 98,
    Enum = 99,
    Public = 100,
    Protected = 101,
    Private = 102,
    Abstract = 103,
    Strictfp = 104,
    Native = 105,
    Transient = 106,
    Volatile = 107,
    Sealed = 108,
    NonDASHsealed = 109,
    Implements = 110,
    Permits2 = 111,
    Record = 112,
    ATinterface = 113,
    Interface = 114,
    Byte = 115,
    Short = 116,
    Int = 117,
    Long = 118,
    Char = 119,
    Float = 120,
    Double = 121,
    BooleanType = 122,
    VoidType = 123,
    DOTDOTDOT = 124,
    Throws2 = 125,
    This = 126,
    Super = 127,
    LineComment = 128,
    BlockComment = 129,
    Program = 130,
    Literal = 131,
    Expression = 132,
    CastExpression = 133,
    AssignmentExpression = 134,
    BinaryExpression = 135,
    InstanceofExpression = 136,
    LambdaExpression = 137,
    InferredParameters = 138,
    TernaryExpression = 139,
    UnaryExpression = 140,
    UpdateExpression = 141,
    PrimaryExpression = 142,
    ArrayCreationExpression = 143,
    DimensionsExpr = 144,
    ParenthesizedExpression = 145,
    ClassLiteral = 146,
    ObjectCreationExpression = 147,
    UnqualifiedObjectCreationExpression = 148,
    FieldAccess = 149,
    ArrayAccess = 150,
    MethodInvocation = 151,
    ArgumentList = 152,
    MethodReference = 153,
    TypeArguments = 154,
    Wildcard = 155,
    WildcardBounds = 156,
    Dimensions = 157,
    SwitchExpression = 158,
    SwitchBlock = 159,
    SwitchBlockStatementGroup = 160,
    SwitchRule = 161,
    SwitchLabel = 162,
    Statement = 163,
    Block = 164,
    ExpressionStatement = 165,
    LabeledStatement = 166,
    AssertStatement = 167,
    DoStatement = 168,
    BreakStatement = 169,
    ContinueStatement = 170,
    ReturnStatement = 171,
    YieldStatement = 172,
    SynchronizedStatement = 173,
    ThrowStatement = 174,
    TryStatement = 175,
    CatchClause = 176,
    CatchFormalParameter = 177,
    CatchType = 178,
    FinallyClause = 179,
    TryWithResourcesStatement = 180,
    ResourceSpecification = 181,
    Resource = 182,
    IfStatement = 183,
    WhileStatement = 184,
    ForStatement = 185,
    EnhancedForStatement = 186,
    Annotation2 = 187,
    MarkerAnnotation = 188,
    Annotation = 189,
    AnnotationArgumentList = 190,
    ElementValuePair = 191,
    ElementValue = 192,
    ElementValueArrayInitializer = 193,
    Declaration = 194,
    ModuleDeclaration = 195,
    ModuleBody = 196,
    ModuleDirective = 197,
    RequiresModuleDirective = 198,
    RequiresModifier = 199,
    ExportsModuleDirective = 200,
    OpensModuleDirective = 201,
    UsesModuleDirective = 202,
    ProvidesModuleDirective = 203,
    PackageDeclaration = 204,
    ImportDeclaration = 205,
    Asterisk = 206,
    EnumDeclaration = 207,
    EnumBody = 208,
    EnumBodyDeclarations = 209,
    EnumConstant = 210,
    ClassDeclaration = 211,
    Modifiers = 212,
    TypeParameters = 213,
    TypeParameter = 214,
    TypeBound = 215,
    Superclass = 216,
    SuperInterfaces = 217,
    TypeList = 218,
    Permits = 219,
    ClassBody = 220,
    StaticInitializer = 221,
    ConstructorDeclaration = 222,
    ConstructorDeclarator = 223,
    ConstructorBody = 224,
    ExplicitConstructorInvocation = 225,
    ScopedIdentifier = 226,
    FieldDeclaration = 227,
    RecordDeclaration = 228,
    AnnotationTypeDeclaration = 229,
    AnnotationTypeBody = 230,
    AnnotationTypeElementDeclaration = 231,
    DefaultValue = 232,
    InterfaceDeclaration = 233,
    ExtendsInterfaces = 234,
    InterfaceBody = 235,
    ConstantDeclaration = 236,
    VariableDeclaratorList = 237,
    VariableDeclarator = 238,
    VariableDeclaratorId = 239,
    ArrayInitializer = 240,
    Type = 241,
    UnannotatedType = 242,
    AnnotatedType = 243,
    ScopedTypeIdentifier = 244,
    GenericType = 245,
    ArrayType = 246,
    IntegralType = 247,
    FloatingPointType = 248,
    MethodHeader = 249,
    MethodDeclarator = 250,
    FormalParameters = 251,
    FormalParameter = 252,
    ReceiverParameter = 253,
    SpreadParameter = 254,
    Throws = 255,
    LocalVariableDeclaration = 256,
    MethodDeclaration = 257,
    CompactConstructorDeclaration = 258,
    ProgramRepeat1 = 259,
    CastExpressionRepeat1 = 260,
    InferredParametersRepeat1 = 261,
    ArrayCreationExpressionRepeat1 = 262,
    ArrayCreationExpressionRepeat2 = 263,
    ArgumentListRepeat1 = 264,
    TypeArgumentsRepeat1 = 265,
    DimensionsRepeat1 = 266,
    SwitchBlockRepeat1 = 267,
    SwitchBlockRepeat2 = 268,
    SwitchBlockStatementGroupRepeat1 = 269,
    TryStatementRepeat1 = 270,
    CatchTypeRepeat1 = 271,
    ResourceSpecificationRepeat1 = 272,
    ForStatementRepeat1 = 273,
    ForStatementRepeat2 = 274,
    AnnotationArgumentListRepeat1 = 275,
    ElementValueArrayInitializerRepeat1 = 276,
    ModuleBodyRepeat1 = 277,
    RequiresModuleDirectiveRepeat1 = 278,
    ExportsModuleDirectiveRepeat1 = 279,
    ProvidesModuleDirectiveRepeat1 = 280,
    EnumBodyRepeat1 = 281,
    EnumBodyDeclarationsRepeat1 = 282,
    ModifiersRepeat1 = 283,
    TypeParametersRepeat1 = 284,
    TypeBoundRepeat1 = 285,
    TypeListRepeat1 = 286,
    AnnotationTypeBodyRepeat1 = 287,
    InterfaceBodyRepeat1 = 288,
    VariableDeclaratorListRepeat1 = 289,
    ArrayInitializerRepeat1 = 290,
    FormalParametersRepeat1 = 291,
    TypeIdentifier = 292,
    Error = 293,
}

impl From<Java> for &'static str {
    #[inline(always)]
    fn from(tok: Java) -> Self {
        match tok {
            Java::End => "end",
            Java::Identifier => "identifier",
            Java::DecimalIntegerLiteral => "decimal_integer_literal",
            Java::HexIntegerLiteral => "hex_integer_literal",
            Java::OctalIntegerLiteral => "octal_integer_literal",
            Java::BinaryIntegerLiteral => "binary_integer_literal",
            Java::DecimalFloatingPointLiteral => "decimal_floating_point_literal",
            Java::HexFloatingPointLiteral => "hex_floating_point_literal",
            Java::True => "true",
            Java::False => "false",
            Java::CharacterLiteral => "character_literal",
            Java::StringLiteral => "string_literal",
            Java::TextBlock => "text_block",
            Java::NullLiteral => "null_literal",
            Java::LPAREN => "(",
            Java::AMP => "&",
            Java::RPAREN => ")",
            Java::EQ => "=",
            Java::PLUSEQ => "+=",
            Java::DASHEQ => "-=",
            Java::STAREQ => "*=",
            Java::SLASHEQ => "/=",
            Java::AMPEQ => "&=",
            Java::PIPEEQ => "|=",
            Java::CARETEQ => "^=",
            Java::PERCENTEQ => "%=",
            Java::LTLTEQ => "<<=",
            Java::GTGTEQ => ">>=",
            Java::GTGTGTEQ => ">>>=",
            Java::GT => ">",
            Java::LT => "<",
            Java::GTEQ => ">=",
            Java::LTEQ => "<=",
            Java::EQEQ => "==",
            Java::BANGEQ => "!=",
            Java::AMPAMP => "&&",
            Java::PIPEPIPE => "||",
            Java::PLUS => "+",
            Java::DASH => "-",
            Java::STAR => "*",
            Java::SLASH => "/",
            Java::PIPE => "|",
            Java::CARET => "^",
            Java::PERCENT => "%",
            Java::LTLT => "<<",
            Java::GTGT => ">>",
            Java::GTGTGT => ">>>",
            Java::Instanceof => "instanceof",
            Java::Final => "final",
            Java::DASHGT => "->",
            Java::COMMA => ",",
            Java::QMARK => "?",
            Java::COLON => ":",
            Java::BANG => "!",
            Java::TILDE => "~",
            Java::PLUSPLUS => "++",
            Java::DASHDASH => "--",
            Java::New => "new",
            Java::LBRACK => "[",
            Java::RBRACK => "]",
            Java::DOT => ".",
            Java::Class => "class",
            Java::COLONCOLON => "::",
            Java::Extends => "extends",
            Java::Switch => "switch",
            Java::LBRACE => "{",
            Java::RBRACE => "}",
            Java::Case => "case",
            Java::Default => "default",
            Java::SEMI => ";",
            Java::Assert => "assert",
            Java::Do => "do",
            Java::While => "while",
            Java::Break => "break",
            Java::Continue => "continue",
            Java::Return => "return",
            Java::Yield => "yield",
            Java::Synchronized => "synchronized",
            Java::Throw => "throw",
            Java::Try => "try",
            Java::Catch => "catch",
            Java::Finally => "finally",
            Java::If => "if",
            Java::Else => "else",
            Java::For => "for",
            Java::AT => "@",
            Java::Open => "open",
            Java::Module => "module",
            Java::Requires => "requires",
            Java::Transitive => "transitive",
            Java::Static => "static",
            Java::Exports => "exports",
            Java::To => "to",
            Java::Opens => "opens",
            Java::Uses => "uses",
            Java::Provides => "provides",
            Java::With => "with",
            Java::Package => "package",
            Java::Import => "import",
            Java::Enum => "enum",
            Java::Public => "public",
            Java::Protected => "protected",
            Java::Private => "private",
            Java::Abstract => "abstract",
            Java::Strictfp => "strictfp",
            Java::Native => "native",
            Java::Transient => "transient",
            Java::Volatile => "volatile",
            Java::Sealed => "sealed",
            Java::NonDASHsealed => "non-sealed",
            Java::Implements => "implements",
            Java::Permits2 => "permits",
            Java::Record => "record",
            Java::ATinterface => "@interface",
            Java::Interface => "interface",
            Java::Byte => "byte",
            Java::Short => "short",
            Java::Int => "int",
            Java::Long => "long",
            Java::Char => "char",
            Java::Float => "float",
            Java::Double => "double",
            Java::BooleanType => "boolean_type",
            Java::VoidType => "void_type",
            Java::DOTDOTDOT => "...",
            Java::Throws2 => "throws",
            Java::This => "this",
            Java::Super => "super",
            Java::LineComment => "line_comment",
            Java::BlockComment => "block_comment",
            Java::Program => "program",
            Java::Literal => "_literal",
            Java::Expression => "expression",
            Java::CastExpression => "cast_expression",
            Java::AssignmentExpression => "assignment_expression",
            Java::BinaryExpression => "binary_expression",
            Java::InstanceofExpression => "instanceof_expression",
            Java::LambdaExpression => "lambda_expression",
            Java::InferredParameters => "inferred_parameters",
            Java::TernaryExpression => "ternary_expression",
            Java::UnaryExpression => "unary_expression",
            Java::UpdateExpression => "update_expression",
            Java::PrimaryExpression => "primary_expression",
            Java::ArrayCreationExpression => "array_creation_expression",
            Java::DimensionsExpr => "dimensions_expr",
            Java::ParenthesizedExpression => "parenthesized_expression",
            Java::ClassLiteral => "class_literal",
            Java::ObjectCreationExpression => "object_creation_expression",
            Java::UnqualifiedObjectCreationExpression => "_unqualified_object_creation_expression",
            Java::FieldAccess => "field_access",
            Java::ArrayAccess => "array_access",
            Java::MethodInvocation => "method_invocation",
            Java::ArgumentList => "argument_list",
            Java::MethodReference => "method_reference",
            Java::TypeArguments => "type_arguments",
            Java::Wildcard => "wildcard",
            Java::WildcardBounds => "_wildcard_bounds",
            Java::Dimensions => "dimensions",
            Java::SwitchExpression => "switch_expression",
            Java::SwitchBlock => "switch_block",
            Java::SwitchBlockStatementGroup => "switch_block_statement_group",
            Java::SwitchRule => "switch_rule",
            Java::SwitchLabel => "switch_label",
            Java::Statement => "statement",
            Java::Block => "block",
            Java::ExpressionStatement => "expression_statement",
            Java::LabeledStatement => "labeled_statement",
            Java::AssertStatement => "assert_statement",
            Java::DoStatement => "do_statement",
            Java::BreakStatement => "break_statement",
            Java::ContinueStatement => "continue_statement",
            Java::ReturnStatement => "return_statement",
            Java::YieldStatement => "yield_statement",
            Java::SynchronizedStatement => "synchronized_statement",
            Java::ThrowStatement => "throw_statement",
            Java::TryStatement => "try_statement",
            Java::CatchClause => "catch_clause",
            Java::CatchFormalParameter => "catch_formal_parameter",
            Java::CatchType => "catch_type",
            Java::FinallyClause => "finally_clause",
            Java::TryWithResourcesStatement => "try_with_resources_statement",
            Java::ResourceSpecification => "resource_specification",
            Java::Resource => "resource",
            Java::IfStatement => "if_statement",
            Java::WhileStatement => "while_statement",
            Java::ForStatement => "for_statement",
            Java::EnhancedForStatement => "enhanced_for_statement",
            Java::Annotation2 => "_annotation",
            Java::MarkerAnnotation => "marker_annotation",
            Java::Annotation => "annotation",
            Java::AnnotationArgumentList => "annotation_argument_list",
            Java::ElementValuePair => "element_value_pair",
            Java::ElementValue => "_element_value",
            Java::ElementValueArrayInitializer => "element_value_array_initializer",
            Java::Declaration => "declaration",
            Java::ModuleDeclaration => "module_declaration",
            Java::ModuleBody => "module_body",
            Java::ModuleDirective => "module_directive",
            Java::RequiresModuleDirective => "requires_module_directive",
            Java::RequiresModifier => "requires_modifier",
            Java::ExportsModuleDirective => "exports_module_directive",
            Java::OpensModuleDirective => "opens_module_directive",
            Java::UsesModuleDirective => "uses_module_directive",
            Java::ProvidesModuleDirective => "provides_module_directive",
            Java::PackageDeclaration => "package_declaration",
            Java::ImportDeclaration => "import_declaration",
            Java::Asterisk => "asterisk",
            Java::EnumDeclaration => "enum_declaration",
            Java::EnumBody => "enum_body",
            Java::EnumBodyDeclarations => "enum_body_declarations",
            Java::EnumConstant => "enum_constant",
            Java::ClassDeclaration => "class_declaration",
            Java::Modifiers => "modifiers",
            Java::TypeParameters => "type_parameters",
            Java::TypeParameter => "type_parameter",
            Java::TypeBound => "type_bound",
            Java::Superclass => "superclass",
            Java::SuperInterfaces => "super_interfaces",
            Java::TypeList => "type_list",
            Java::Permits => "permits",
            Java::ClassBody => "class_body",
            Java::StaticInitializer => "static_initializer",
            Java::ConstructorDeclaration => "constructor_declaration",
            Java::ConstructorDeclarator => "_constructor_declarator",
            Java::ConstructorBody => "constructor_body",
            Java::ExplicitConstructorInvocation => "explicit_constructor_invocation",
            Java::ScopedIdentifier => "scoped_identifier",
            Java::FieldDeclaration => "field_declaration",
            Java::RecordDeclaration => "record_declaration",
            Java::AnnotationTypeDeclaration => "annotation_type_declaration",
            Java::AnnotationTypeBody => "annotation_type_body",
            Java::AnnotationTypeElementDeclaration => "annotation_type_element_declaration",
            Java::DefaultValue => "_default_value",
            Java::InterfaceDeclaration => "interface_declaration",
            Java::ExtendsInterfaces => "extends_interfaces",
            Java::InterfaceBody => "interface_body",
            Java::ConstantDeclaration => "constant_declaration",
            Java::VariableDeclaratorList => "_variable_declarator_list",
            Java::VariableDeclarator => "variable_declarator",
            Java::VariableDeclaratorId => "_variable_declarator_id",
            Java::ArrayInitializer => "array_initializer",
            Java::Type => "_type",
            Java::UnannotatedType => "_unannotated_type",
            Java::AnnotatedType => "annotated_type",
            Java::ScopedTypeIdentifier => "scoped_type_identifier",
            Java::GenericType => "generic_type",
            Java::ArrayType => "array_type",
            Java::IntegralType => "integral_type",
            Java::FloatingPointType => "floating_point_type",
            Java::MethodHeader => "_method_header",
            Java::MethodDeclarator => "_method_declarator",
            Java::FormalParameters => "formal_parameters",
            Java::FormalParameter => "formal_parameter",
            Java::ReceiverParameter => "receiver_parameter",
            Java::SpreadParameter => "spread_parameter",
            Java::Throws => "throws",
            Java::LocalVariableDeclaration => "local_variable_declaration",
            Java::MethodDeclaration => "method_declaration",
            Java::CompactConstructorDeclaration => "compact_constructor_declaration",
            Java::ProgramRepeat1 => "program_repeat1",
            Java::CastExpressionRepeat1 => "cast_expression_repeat1",
            Java::InferredParametersRepeat1 => "inferred_parameters_repeat1",
            Java::ArrayCreationExpressionRepeat1 => "array_creation_expression_repeat1",
            Java::ArrayCreationExpressionRepeat2 => "array_creation_expression_repeat2",
            Java::ArgumentListRepeat1 => "argument_list_repeat1",
            Java::TypeArgumentsRepeat1 => "type_arguments_repeat1",
            Java::DimensionsRepeat1 => "dimensions_repeat1",
            Java::SwitchBlockRepeat1 => "switch_block_repeat1",
            Java::SwitchBlockRepeat2 => "switch_block_repeat2",
            Java::SwitchBlockStatementGroupRepeat1 => "switch_block_statement_group_repeat1",
            Java::TryStatementRepeat1 => "try_statement_repeat1",
            Java::CatchTypeRepeat1 => "catch_type_repeat1",
            Java::ResourceSpecificationRepeat1 => "resource_specification_repeat1",
            Java::ForStatementRepeat1 => "for_statement_repeat1",
            Java::ForStatementRepeat2 => "for_statement_repeat2",
            Java::AnnotationArgumentListRepeat1 => "annotation_argument_list_repeat1",
            Java::ElementValueArrayInitializerRepeat1 => "element_value_array_initializer_repeat1",
            Java::ModuleBodyRepeat1 => "module_body_repeat1",
            Java::RequiresModuleDirectiveRepeat1 => "requires_module_directive_repeat1",
            Java::ExportsModuleDirectiveRepeat1 => "exports_module_directive_repeat1",
            Java::ProvidesModuleDirectiveRepeat1 => "provides_module_directive_repeat1",
            Java::EnumBodyRepeat1 => "enum_body_repeat1",
            Java::EnumBodyDeclarationsRepeat1 => "enum_body_declarations_repeat1",
            Java::ModifiersRepeat1 => "modifiers_repeat1",
            Java::TypeParametersRepeat1 => "type_parameters_repeat1",
            Java::TypeBoundRepeat1 => "type_bound_repeat1",
            Java::TypeListRepeat1 => "type_list_repeat1",
            Java::AnnotationTypeBodyRepeat1 => "annotation_type_body_repeat1",
            Java::InterfaceBodyRepeat1 => "interface_body_repeat1",
            Java::VariableDeclaratorListRepeat1 => "_variable_declarator_list_repeat1",
            Java::ArrayInitializerRepeat1 => "array_initializer_repeat1",
            Java::FormalParametersRepeat1 => "formal_parameters_repeat1",
            Java::TypeIdentifier => "type_identifier",
            Java::Error => "ERROR",
        }
    }
}

impl From<u16> for Java {
    #[inline(always)]
    fn from(x: u16) -> Self {
        num::FromPrimitive::from_u16(x).unwrap_or(Self::Error)
    }
}

// Java == u16
impl PartialEq<u16> for Java {
    #[inline(always)]
    fn eq(&self, x: &u16) -> bool {
        *self == Java::from(*x)
    }
}

// u16 == Java
impl PartialEq<Java> for u16 {
    #[inline(always)]
    fn eq(&self, x: &Java) -> bool {
        *x == *self
    }
}