rma-analyzer 0.19.0

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

pub static SOLIDITY_SEMANTICS: LanguageSemantics = LanguageSemantics {
    language: "solidity",

    function_def_kinds: &[
        "function_definition",
        "constructor_definition",
        "modifier_definition",
        "fallback_receive_definition",
    ],
    if_kinds: &["if_statement"],
    loop_kinds: &["for_statement", "while_statement", "do_while_statement"],
    variable_declaration_kinds: &[
        "state_variable_declaration",
        "variable_declaration_statement",
    ],
    assignment_kinds: &["assignment_expression"],
    augmented_assignment_kinds: &["augmented_assignment_expression"],
    return_kinds: &["return_statement"],
    call_kinds: &["call_expression"],
    try_catch_kinds: &["try_statement"],
    throw_kinds: &["revert_statement"],
    string_literal_kinds: &["string", "yul_string_literal"],
    numeric_literal_kinds: &["number_literal"],
    boolean_literal_kinds: &["boolean_literal"],
    null_literal_kinds: &[],
    parameter_kinds: &["parameter"],
    class_kinds: &[
        "contract_declaration",
        "interface_declaration",
        "library_declaration",
    ],
    import_kinds: &["import_directive"],
    block_scope_kinds: &["function_body", "block_statement"],
    break_kinds: &["break_statement"],
    continue_kinds: &["continue_statement"],
    switch_kinds: &[],
    case_kinds: &[],
    member_access_kinds: &["member_expression"],
    binary_expression_kinds: &["binary_expression"],
    identifier_kinds: &["identifier"],
    unsafe_block_kinds: &[],
    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: "object",
    property_field: "property",
    function_field: "function",
    parameters_field: "parameters",
    return_type_field: "return_type",
    type_field: "type",
    handler_field: "catch_clause",
    finalizer_field: "",
};