rma-analyzer 0.19.0

Code analysis and security scanning for Rust Monorepo Analyzer
Documentation
use super::LanguageSemantics;

pub static CSHARP_SEMANTICS: LanguageSemantics = LanguageSemantics {
    language: "csharp",

    function_def_kinds: &[
        "method_declaration",
        "constructor_declaration",
        "lambda_expression",
        "local_function_statement",
    ],
    if_kinds: &["if_statement"],
    loop_kinds: &[
        "for_statement",
        "for_each_statement",
        "while_statement",
        "do_statement",
    ],
    variable_declaration_kinds: &["variable_declaration", "field_declaration"],
    assignment_kinds: &["assignment_expression"],
    augmented_assignment_kinds: &["assignment_expression"],
    return_kinds: &["return_statement"],
    call_kinds: &["invocation_expression", "object_creation_expression"],
    try_catch_kinds: &["try_statement"],
    throw_kinds: &["throw_statement", "throw_expression"],
    string_literal_kinds: &[
        "string_literal",
        "verbatim_string_literal",
        "interpolated_string_expression",
    ],
    numeric_literal_kinds: &["integer_literal", "real_literal"],
    boolean_literal_kinds: &["boolean_literal"],
    null_literal_kinds: &["null_literal"],
    parameter_kinds: &["parameter"],
    class_kinds: &[
        "class_declaration",
        "interface_declaration",
        "struct_declaration",
        "enum_declaration",
        "record_declaration",
    ],
    import_kinds: &["using_directive"],
    block_scope_kinds: &["block"],
    break_kinds: &["break_statement"],
    continue_kinds: &["continue_statement"],
    switch_kinds: &["switch_statement", "switch_expression"],
    case_kinds: &["switch_section", "switch_expression_arm"],
    member_access_kinds: &["member_access_expression", "element_access_expression"],
    binary_expression_kinds: &["binary_expression"],
    identifier_kinds: &["identifier"],
    unsafe_block_kinds: &["unsafe_statement"],
    defer_kinds: &[],
    spawn_kinds: &[],

    condition_field: "condition",
    consequence_field: "body",
    alternative_field: "alternative",
    body_field: "body",
    initializer_field: "value",
    left_field: "left",
    right_field: "right",
    name_field: "name",
    arguments_field: "arguments",
    value_field: "value",
    operator_field: "operator",
    object_field: "expression",
    property_field: "name",
    function_field: "expression",
    parameters_field: "parameters",
    return_type_field: "type",
    type_field: "type",
    handler_field: "catch_clause",
    finalizer_field: "finally_clause",
};