neo_solidity/
frontend.rs

1//! Solidity frontend integration using `solang-parser`.
2//!
3//! This module parses Solidity source code into a light-weight intermediate
4//! representation that can be consumed by later compiler stages.
5
6use solang_parser::{
7    diagnostics::Diagnostic,
8    parse,
9    pt::{
10        Base, Comment, ContractDefinition, ContractPart, ContractTy, EnumDefinition,
11        EventDefinition, Expression, FunctionAttribute, FunctionDefinition, FunctionTy, Identifier,
12        Loc, Mutability, ParameterList, SourceUnitPart, Statement, StorageLocation,
13        StructDefinition, UsingList, VariableAttribute, VariableDefinition, Visibility,
14    },
15};
16use std::collections::HashMap;
17use thiserror::Error;
18
19include!("frontend/frontend_errors.rs");
20include!("frontend/frontend_ir.rs");
21include!("frontend/frontend_diagnostics.rs");
22include!("frontend/frontend_parse.rs");
23include!("frontend/frontend_convert.rs");
24
25#[cfg(test)]
26mod tests;