use crate::frontend::{
parse_source, ContractIR, ContractKind, EnumIR, ErrorIR, EventIR, FunctionIR, MutabilityKind,
NatspecDocIR, ParameterIR, StateVariableIR, StructIR, VisibilityKind,
};
use crate::type_system::{
EnumTypeMetadata, NeoType, StructFieldMetadata as NeoStructFieldMetadata, StructTypeMetadata,
};
use sha3::{Digest, Keccak256};
use solang_parser::pt::{
Base, CatchClause, Expression, FunctionTy, Identifier, Loc, NamedArgument, Parameter, Statement,
};
use thiserror::Error;
include!("solidity/solidity_errors.rs");
include!("solidity/solidity_docs.rs");
include!("solidity/solidity_metadata.rs");
include!("solidity/upgrade.rs");
include!("solidity/analyse/inheritance.rs");
include!("solidity/analyse/modifiers.rs");
include!("solidity/solidity_analyse.rs");
include!("solidity/solidity_convert.rs");
include!("solidity/solidity_validate.rs");