ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
SolidityGrammar Namespace Reference

Enumerations

enum  ContractBodyElementT {
  VarDecl = 0 , FunctionDef , StructDef , EnumDef ,
  ErrorDef , EventDef , UsingForDef , ModifierDef ,
  ContractBodyElementTError
}
enum  TypeNameT {
  ElementaryTypeName = 0 , ParameterList , Pointer , PointerArrayToPtr ,
  ArrayTypeName , DynArrayTypeName , NestedArrayTypeName , AddressTypeName ,
  AddressPayableTypeName , ContractTypeName , TypeConversionName , TypeProperty ,
  EnumTypeName , StructTypeName , TupleTypeName , MappingTypeName ,
  BuiltinTypeName , ErrorTypeName , UserDefinedTypeName , TypeNameTError
}
enum  ElementaryTypeNameT {
  UINT8 , UINT16 , UINT24 , UINT32 ,
  UINT40 , UINT48 , UINT56 , UINT64 ,
  UINT72 , UINT80 , UINT88 , UINT96 ,
  UINT104 , UINT112 , UINT120 , UINT128 ,
  UINT136 , UINT144 , UINT152 , UINT160 ,
  UINT168 , UINT176 , UINT184 , UINT192 ,
  UINT200 , UINT208 , UINT216 , UINT224 ,
  UINT232 , UINT240 , UINT248 , UINT256 ,
  INT_LITERAL , RA_LITERAL , INT8 , INT16 ,
  INT24 , INT32 , INT40 , INT48 ,
  INT56 , INT64 , INT72 , INT80 ,
  INT88 , INT96 , INT104 , INT112 ,
  INT120 , INT128 , INT136 , INT144 ,
  INT152 , INT160 , INT168 , INT176 ,
  INT184 , INT192 , INT200 , INT208 ,
  INT216 , INT224 , INT232 , INT240 ,
  INT248 , INT256 , BOOL , ADDRESS ,
  ADDRESS_PAYABLE , STRING , STRING_LITERAL , BYTES ,
  BYTES1 , BYTES2 , BYTES3 , BYTES4 ,
  BYTES5 , BYTES6 , BYTES7 , BYTES8 ,
  BYTES9 , BYTES10 , BYTES11 , BYTES12 ,
  BYTES13 , BYTES14 , BYTES15 , BYTES16 ,
  BYTES17 , BYTES18 , BYTES19 , BYTES20 ,
  BYTES21 , BYTES22 , BYTES23 , BYTES24 ,
  BYTES25 , BYTES26 , BYTES27 , BYTES28 ,
  BYTES29 , BYTES30 , BYTES31 , BYTES32 ,
  ElementaryTypeNameTError
}
enum  ParameterListT { EMPTY = 0 , ONE_PARAM , MORE_THAN_ONE_PARAM , ParameterListTError }
enum  BlockT {
  Statement = 0 , BlockForStatement , BlockIfStatement , BlockWhileStatement ,
  BlockDoWhileStatement , BlockExpressionStatement , BlockTError
}
enum  StatementT {
  Block = 0 , ExpressionStatement , VariableDeclStatement , ReturnStatement ,
  ForStatement , IfStatement , WhileStatement , DoWhileStatement ,
  StatementTError , ContinueStatement , BreakStatement , RevertStatement ,
  EmitStatement , PlaceholderStatement , TryStatement , InlineAssemblyStatement
}
enum  ExpressionT {
  BinaryOperatorClass = 0 , BO_Assign , BO_Add , BO_Sub ,
  BO_Mul , BO_Div , BO_Rem , BO_Shl ,
  BO_Shr , BO_And , BO_Xor , BO_Or ,
  BO_GT , BO_LT , BO_GE , BO_LE ,
  BO_NE , BO_EQ , BO_LAnd , BO_LOr ,
  BO_AddAssign , BO_SubAssign , BO_MulAssign , BO_DivAssign ,
  BO_RemAssign , BO_ShlAssign , BO_ShrAssign , BO_AndAssign ,
  BO_XorAssign , BO_OrAssign , BO_Pow , UnaryOperatorClass ,
  UO_PreDec , UO_PreInc , UO_PostDec , UO_PostInc ,
  UO_Minus , UO_Not , UO_LNot , UO_Delete ,
  ConditionalOperatorClass , DeclRefExprClass , Literal , LiteralWithRational ,
  LiteralWithWei , LiteralWithGwei , LiteralWithSzabo , LiteralWithFinney ,
  LiteralWithEther , LiteralWithSeconds , LiteralWithMinutes , LiteralWithHours ,
  LiteralWithDays , LiteralWithWeeks , LiteralWithYears , LiteralWithUnknownUnit ,
  Tuple , Mapping , CallExprClass , CallOptionsExprClass ,
  ImplicitCastExprClass , IndexAccess , IndexRangeAccess , NewExpression ,
  NewCallExpression , ContractMemberCall , AddressMemberCall , LibraryMemberCall ,
  TypeConversionExpression , TypePropertyExpression , StructMemberCall , EnumMemberCall ,
  BuiltinMemberCall , TypeMemberCall , NullExpr , ExpressionTError
}
enum  FunctionDeclRefT { FunctionProto = 0 , FunctionNoProto , FunctionDeclRefTError }
enum  ImplicitCastTypeT { LValueToRValue = 0 , FunctionToPointerDecay , ArrayToPointerDecay , ImplicitCastTypeTError }
enum  VisibilityT {
  PublicT , PrivateT , ExternalT , InternalT ,
  UnknownT
}
enum class  SolType {
  UINT8 , UINT16 , UINT24 , UINT32 ,
  UINT40 , UINT48 , UINT56 , UINT64 ,
  UINT72 , UINT80 , UINT88 , UINT96 ,
  UINT104 , UINT112 , UINT120 , UINT128 ,
  UINT136 , UINT144 , UINT152 , UINT160 ,
  UINT168 , UINT176 , UINT184 , UINT192 ,
  UINT200 , UINT208 , UINT216 , UINT224 ,
  UINT232 , UINT240 , UINT248 , UINT256 ,
  INT8 , INT16 , INT24 , INT32 ,
  INT40 , INT48 , INT56 , INT64 ,
  INT72 , INT80 , INT88 , INT96 ,
  INT104 , INT112 , INT120 , INT128 ,
  INT136 , INT144 , INT152 , INT160 ,
  INT168 , INT176 , INT184 , INT192 ,
  INT200 , INT208 , INT216 , INT224 ,
  INT232 , INT240 , INT248 , INT256 ,
  BOOL , ADDRESS , ADDRESS_PAYABLE , STRING ,
  ENUM , BYTES1 , BYTES2 , BYTES3 ,
  BYTES4 , BYTES5 , BYTES6 , BYTES7 ,
  BYTES8 , BYTES9 , BYTES10 , BYTES11 ,
  BYTES12 , BYTES13 , BYTES14 , BYTES15 ,
  BYTES16 , BYTES17 , BYTES18 , BYTES19 ,
  BYTES20 , BYTES21 , BYTES22 , BYTES23 ,
  BYTES24 , BYTES25 , BYTES26 , BYTES27 ,
  BYTES28 , BYTES29 , BYTES30 , BYTES31 ,
  BYTES32 , BYTES_DYN , BYTES_STATIC , INT_CONST ,
  STRING_LITERAL , ARRAY , ARRAY_LITERAL , DYNARRAY ,
  ARRAY_CALLOC , MAPPING , STRUCT , CONTRACT ,
  LIBRARY , TUPLE_RETURNS , TUPLE_INSTANCE , UNSET
}

Functions

ContractBodyElementT get_contract_body_element_t (const nlohmann::json &element)
const char * contract_body_element_to_str (ContractBodyElementT type)
bool is_address_member_call (const nlohmann::json &expr)
bool is_sol_library_function (const int ref_id)
TypeNameT get_type_name_t (const nlohmann::json &type_name)
const char * type_name_to_str (TypeNameT type)
ElementaryTypeNameT get_elementary_type_name_t (const nlohmann::json &type_name)
const char * elementary_type_name_to_str (ElementaryTypeNameT type)
unsigned int uint_type_name_to_size (ElementaryTypeNameT type)
unsigned int int_type_name_to_size (ElementaryTypeNameT type)
unsigned int bytesn_type_name_to_size (ElementaryTypeNameT type)
ParameterListT get_parameter_list_t (const nlohmann::json &type_name)
const char * parameter_list_to_str (ParameterListT type)
BlockT get_block_t (const nlohmann::json &block)
const char * block_to_str (BlockT type)
StatementT get_statement_t (const nlohmann::json &stmt)
const char * statement_to_str (StatementT type)
ExpressionT get_expression_t (const nlohmann::json &expr)
ExpressionT get_unary_expr_operator_t (const nlohmann::json &expr, bool uo_pre)
ExpressionT get_expr_operator_t (const nlohmann::json &expr)
const char * expression_to_str (ExpressionT type)
FunctionDeclRefT get_func_decl_ref_t (const nlohmann::json &decl)
const char * func_decl_ref_to_str (FunctionDeclRefT type)
ImplicitCastTypeT get_implicit_cast_type_t (const std::string &cast)
const char * implicit_cast_type_to_str (ImplicitCastTypeT type)
VisibilityT get_access_t (const nlohmann::json &ast_node)
const char * sol_type_to_str (SolType t)
SolType str_to_sol_type (const std::string &s)
SolType elementary_to_sol_type (ElementaryTypeNameT t)
bool is_uint_type (SolType t)
bool is_int_type (SolType t)
bool is_integer_type (SolType t)
bool is_bytesN_type (SolType t)
bool is_bytes_type (SolType t)
bool is_address_type (SolType t)

Variables

const std::unordered_map< std::string, ElementaryTypeNameT > uint_string_to_type_map
const std::unordered_map< ElementaryTypeNameT, unsigned int > uint_size_map
const std::map< std::string, ElementaryTypeNameT > int_string_to_type_map
const std::map< ElementaryTypeNameT, unsigned int > int_size_map
const std::unordered_map< std::string, ElementaryTypeNameT > bytesn_to_type_map
const std::map< ElementaryTypeNameT, unsigned int > bytesn_size_map

Enumeration Type Documentation

◆ BlockT

Enumerator
Statement 
BlockForStatement 
BlockIfStatement 
BlockWhileStatement 
BlockDoWhileStatement 
BlockExpressionStatement 
BlockTError 

◆ ContractBodyElementT

Enumerator
VarDecl 
FunctionDef 
StructDef 
EnumDef 
ErrorDef 
EventDef 
UsingForDef 
ModifierDef 
ContractBodyElementTError 

◆ ElementaryTypeNameT

Enumerator
UINT8 
UINT16 
UINT24 
UINT32 
UINT40 
UINT48 
UINT56 
UINT64 
UINT72 
UINT80 
UINT88 
UINT96 
UINT104 
UINT112 
UINT120 
UINT128 
UINT136 
UINT144 
UINT152 
UINT160 
UINT168 
UINT176 
UINT184 
UINT192 
UINT200 
UINT208 
UINT216 
UINT224 
UINT232 
UINT240 
UINT248 
UINT256 
INT_LITERAL 
RA_LITERAL 
INT8 
INT16 
INT24 
INT32 
INT40 
INT48 
INT56 
INT64 
INT72 
INT80 
INT88 
INT96 
INT104 
INT112 
INT120 
INT128 
INT136 
INT144 
INT152 
INT160 
INT168 
INT176 
INT184 
INT192 
INT200 
INT208 
INT216 
INT224 
INT232 
INT240 
INT248 
INT256 
BOOL 
ADDRESS 
ADDRESS_PAYABLE 
STRING 
STRING_LITERAL 
BYTES 
BYTES1 
BYTES2 
BYTES3 
BYTES4 
BYTES5 
BYTES6 
BYTES7 
BYTES8 
BYTES9 
BYTES10 
BYTES11 
BYTES12 
BYTES13 
BYTES14 
BYTES15 
BYTES16 
BYTES17 
BYTES18 
BYTES19 
BYTES20 
BYTES21 
BYTES22 
BYTES23 
BYTES24 
BYTES25 
BYTES26 
BYTES27 
BYTES28 
BYTES29 
BYTES30 
BYTES31 
BYTES32 
ElementaryTypeNameTError 

◆ ExpressionT

Enumerator
BinaryOperatorClass 
BO_Assign 
BO_Add 
BO_Sub 
BO_Mul 
BO_Div 
BO_Rem 
BO_Shl 
BO_Shr 
BO_And 
BO_Xor 
BO_Or 
BO_GT 
BO_LT 
BO_GE 
BO_LE 
BO_NE 
BO_EQ 
BO_LAnd 
BO_LOr 
BO_AddAssign 
BO_SubAssign 
BO_MulAssign 
BO_DivAssign 
BO_RemAssign 
BO_ShlAssign 
BO_ShrAssign 
BO_AndAssign 
BO_XorAssign 
BO_OrAssign 
BO_Pow 
UnaryOperatorClass 
UO_PreDec 
UO_PreInc 
UO_PostDec 
UO_PostInc 
UO_Minus 
UO_Not 
UO_LNot 
UO_Delete 
ConditionalOperatorClass 
DeclRefExprClass 
Literal 
LiteralWithRational 
LiteralWithWei 
LiteralWithGwei 
LiteralWithSzabo 
LiteralWithFinney 
LiteralWithEther 
LiteralWithSeconds 
LiteralWithMinutes 
LiteralWithHours 
LiteralWithDays 
LiteralWithWeeks 
LiteralWithYears 
LiteralWithUnknownUnit 
Tuple 
Mapping 
CallExprClass 
CallOptionsExprClass 
ImplicitCastExprClass 
IndexAccess 
IndexRangeAccess 
NewExpression 
NewCallExpression 
ContractMemberCall 
AddressMemberCall 
LibraryMemberCall 
TypeConversionExpression 
TypePropertyExpression 
StructMemberCall 
EnumMemberCall 
BuiltinMemberCall 
TypeMemberCall 
NullExpr 
ExpressionTError 

◆ FunctionDeclRefT

Enumerator
FunctionProto 
FunctionNoProto 
FunctionDeclRefTError 

◆ ImplicitCastTypeT

Enumerator
LValueToRValue 
FunctionToPointerDecay 
ArrayToPointerDecay 
ImplicitCastTypeTError 

◆ ParameterListT

Enumerator
EMPTY 
ONE_PARAM 
MORE_THAN_ONE_PARAM 
ParameterListTError 

◆ SolType

Enumerator
UINT8 
UINT16 
UINT24 
UINT32 
UINT40 
UINT48 
UINT56 
UINT64 
UINT72 
UINT80 
UINT88 
UINT96 
UINT104 
UINT112 
UINT120 
UINT128 
UINT136 
UINT144 
UINT152 
UINT160 
UINT168 
UINT176 
UINT184 
UINT192 
UINT200 
UINT208 
UINT216 
UINT224 
UINT232 
UINT240 
UINT248 
UINT256 
INT8 
INT16 
INT24 
INT32 
INT40 
INT48 
INT56 
INT64 
INT72 
INT80 
INT88 
INT96 
INT104 
INT112 
INT120 
INT128 
INT136 
INT144 
INT152 
INT160 
INT168 
INT176 
INT184 
INT192 
INT200 
INT208 
INT216 
INT224 
INT232 
INT240 
INT248 
INT256 
BOOL 
ADDRESS 
ADDRESS_PAYABLE 
STRING 
ENUM 
BYTES1 
BYTES2 
BYTES3 
BYTES4 
BYTES5 
BYTES6 
BYTES7 
BYTES8 
BYTES9 
BYTES10 
BYTES11 
BYTES12 
BYTES13 
BYTES14 
BYTES15 
BYTES16 
BYTES17 
BYTES18 
BYTES19 
BYTES20 
BYTES21 
BYTES22 
BYTES23 
BYTES24 
BYTES25 
BYTES26 
BYTES27 
BYTES28 
BYTES29 
BYTES30 
BYTES31 
BYTES32 
BYTES_DYN 
BYTES_STATIC 
INT_CONST 
STRING_LITERAL 
ARRAY 
ARRAY_LITERAL 
DYNARRAY 
ARRAY_CALLOC 
MAPPING 
STRUCT 
CONTRACT 
LIBRARY 
TUPLE_RETURNS 
TUPLE_INSTANCE 
UNSET 

◆ StatementT

Enumerator
Block 
ExpressionStatement 
VariableDeclStatement 
ReturnStatement 
ForStatement 
IfStatement 
WhileStatement 
DoWhileStatement 
StatementTError 
ContinueStatement 
BreakStatement 
RevertStatement 
EmitStatement 
PlaceholderStatement 
TryStatement 
InlineAssemblyStatement 

◆ TypeNameT

Enumerator
ElementaryTypeName 
ParameterList 
Pointer 
PointerArrayToPtr 
ArrayTypeName 
DynArrayTypeName 
NestedArrayTypeName 
AddressTypeName 
AddressPayableTypeName 
ContractTypeName 
TypeConversionName 
TypeProperty 
EnumTypeName 
StructTypeName 
TupleTypeName 
MappingTypeName 
BuiltinTypeName 
ErrorTypeName 
UserDefinedTypeName 
TypeNameTError 

◆ VisibilityT

Enumerator
PublicT 
PrivateT 
ExternalT 
InternalT 
UnknownT 

Function Documentation

◆ block_to_str()

const char * SolidityGrammar::block_to_str ( BlockT type)

◆ bytesn_type_name_to_size()

unsigned int SolidityGrammar::bytesn_type_name_to_size ( ElementaryTypeNameT type)

◆ contract_body_element_to_str()

const char * SolidityGrammar::contract_body_element_to_str ( ContractBodyElementT type)

◆ elementary_to_sol_type()

SolType SolidityGrammar::elementary_to_sol_type ( ElementaryTypeNameT t)

◆ elementary_type_name_to_str()

const char * SolidityGrammar::elementary_type_name_to_str ( ElementaryTypeNameT type)

◆ expression_to_str()

const char * SolidityGrammar::expression_to_str ( ExpressionT type)

◆ func_decl_ref_to_str()

const char * SolidityGrammar::func_decl_ref_to_str ( FunctionDeclRefT type)

◆ get_access_t()

VisibilityT SolidityGrammar::get_access_t ( const nlohmann::json & ast_node)

◆ get_block_t()

BlockT SolidityGrammar::get_block_t ( const nlohmann::json & block)

◆ get_contract_body_element_t()

ContractBodyElementT SolidityGrammar::get_contract_body_element_t ( const nlohmann::json & element)

◆ get_elementary_type_name_t()

ElementaryTypeNameT SolidityGrammar::get_elementary_type_name_t ( const nlohmann::json & type_name)

For Literal, their typeString is like "int_const 100". There is no additional type info (bitsize, signed/unsigned), This means it will require additional type info from the parent expr to create an internal type.

◆ get_expr_operator_t()

ExpressionT SolidityGrammar::get_expr_operator_t ( const nlohmann::json & expr)

◆ get_expression_t()

ExpressionT SolidityGrammar::get_expression_t ( const nlohmann::json & expr)

◆ get_func_decl_ref_t()

FunctionDeclRefT SolidityGrammar::get_func_decl_ref_t ( const nlohmann::json & decl)

◆ get_implicit_cast_type_t()

ImplicitCastTypeT SolidityGrammar::get_implicit_cast_type_t ( const std::string & cast)

◆ get_parameter_list_t()

ParameterListT SolidityGrammar::get_parameter_list_t ( const nlohmann::json & type_name)

◆ get_statement_t()

StatementT SolidityGrammar::get_statement_t ( const nlohmann::json & stmt)

◆ get_type_name_t()

TypeNameT SolidityGrammar::get_type_name_t ( const nlohmann::json & type_name)

Order matters

◆ get_unary_expr_operator_t()

ExpressionT SolidityGrammar::get_unary_expr_operator_t ( const nlohmann::json & expr,
bool uo_pre )

◆ implicit_cast_type_to_str()

const char * SolidityGrammar::implicit_cast_type_to_str ( ImplicitCastTypeT type)

◆ int_type_name_to_size()

unsigned int SolidityGrammar::int_type_name_to_size ( ElementaryTypeNameT type)

◆ is_address_member_call()

bool SolidityGrammar::is_address_member_call ( const nlohmann::json & expr)

◆ is_address_type()

bool SolidityGrammar::is_address_type ( SolType t)

◆ is_bytes_type()

bool SolidityGrammar::is_bytes_type ( SolType t)

◆ is_bytesN_type()

bool SolidityGrammar::is_bytesN_type ( SolType t)

◆ is_int_type()

bool SolidityGrammar::is_int_type ( SolType t)

◆ is_integer_type()

bool SolidityGrammar::is_integer_type ( SolType t)

◆ is_sol_library_function()

bool SolidityGrammar::is_sol_library_function ( const int ref_id)

◆ is_uint_type()

bool SolidityGrammar::is_uint_type ( SolType t)

◆ parameter_list_to_str()

const char * SolidityGrammar::parameter_list_to_str ( ParameterListT type)

◆ sol_type_to_str()

const char * SolidityGrammar::sol_type_to_str ( SolType t)

◆ statement_to_str()

const char * SolidityGrammar::statement_to_str ( StatementT type)

◆ str_to_sol_type()

SolType SolidityGrammar::str_to_sol_type ( const std::string & s)

◆ type_name_to_str()

const char * SolidityGrammar::type_name_to_str ( TypeNameT type)

◆ uint_type_name_to_size()

unsigned int SolidityGrammar::uint_type_name_to_size ( ElementaryTypeNameT type)

Variable Documentation

◆ bytesn_size_map

const std::map<ElementaryTypeNameT, unsigned int> SolidityGrammar::bytesn_size_map
Initial value:
= {
{BYTES1, 1}, {BYTES2, 2}, {BYTES3, 3}, {BYTES4, 4}, {BYTES5, 5},
{BYTES6, 6}, {BYTES7, 7}, {BYTES8, 8}, {BYTES9, 9}, {BYTES10, 10},
{BYTES11, 11}, {BYTES12, 12}, {BYTES13, 13}, {BYTES14, 14}, {BYTES15, 15},
{BYTES16, 16}, {BYTES17, 17}, {BYTES18, 18}, {BYTES19, 19}, {BYTES20, 20},
{BYTES21, 21}, {BYTES22, 22}, {BYTES23, 23}, {BYTES24, 24}, {BYTES25, 25},
{BYTES26, 26}, {BYTES27, 27}, {BYTES28, 28}, {BYTES29, 29}, {BYTES30, 30},
{BYTES31, 31}, {BYTES32, 32},
}
@ BYTES32
Definition solidity_grammar.h:217
@ BYTES3
Definition solidity_grammar.h:188
@ BYTES19
Definition solidity_grammar.h:204
@ BYTES22
Definition solidity_grammar.h:207
@ BYTES7
Definition solidity_grammar.h:192
@ BYTES9
Definition solidity_grammar.h:194
@ BYTES12
Definition solidity_grammar.h:197
@ BYTES31
Definition solidity_grammar.h:216
@ BYTES14
Definition solidity_grammar.h:199
@ BYTES5
Definition solidity_grammar.h:190
@ BYTES17
Definition solidity_grammar.h:202
@ BYTES26
Definition solidity_grammar.h:211
@ BYTES20
Definition solidity_grammar.h:205
@ BYTES2
Definition solidity_grammar.h:187
@ BYTES28
Definition solidity_grammar.h:213
@ BYTES30
Definition solidity_grammar.h:215
@ BYTES1
Definition solidity_grammar.h:186
@ BYTES10
Definition solidity_grammar.h:195
@ BYTES4
Definition solidity_grammar.h:189
@ BYTES15
Definition solidity_grammar.h:200
@ BYTES18
Definition solidity_grammar.h:203
@ BYTES29
Definition solidity_grammar.h:214
@ BYTES6
Definition solidity_grammar.h:191
@ BYTES27
Definition solidity_grammar.h:212
@ BYTES11
Definition solidity_grammar.h:196
@ BYTES23
Definition solidity_grammar.h:208
@ BYTES16
Definition solidity_grammar.h:201
@ BYTES25
Definition solidity_grammar.h:210
@ BYTES21
Definition solidity_grammar.h:206
@ BYTES24
Definition solidity_grammar.h:209
@ BYTES8
Definition solidity_grammar.h:193
@ BYTES13
Definition solidity_grammar.h:198

◆ bytesn_to_type_map

const std::unordered_map<std::string, ElementaryTypeNameT> SolidityGrammar::bytesn_to_type_map
Initial value:
=
{
{"byte", BYTES1}, {"bytes1", BYTES1}, {"bytes2", BYTES2},
{"bytes3", BYTES3}, {"bytes4", BYTES4}, {"bytes5", BYTES5},
{"bytes6", BYTES6}, {"bytes7", BYTES7}, {"bytes8", BYTES8},
{"bytes9", BYTES9}, {"bytes10", BYTES10}, {"bytes11", BYTES11},
{"bytes12", BYTES12}, {"bytes13", BYTES13}, {"bytes14", BYTES14},
{"bytes15", BYTES15}, {"bytes16", BYTES16}, {"bytes17", BYTES17},
{"bytes18", BYTES18}, {"bytes19", BYTES19}, {"bytes20", BYTES20},
{"bytes21", BYTES21}, {"bytes22", BYTES22}, {"bytes23", BYTES23},
{"bytes24", BYTES24}, {"bytes25", BYTES25}, {"bytes26", BYTES26},
{"bytes27", BYTES27}, {"bytes28", BYTES28}, {"bytes29", BYTES29},
{"bytes30", BYTES30}, {"bytes31", BYTES31}, {"bytes32", BYTES32},
}

◆ int_size_map

const std::map<ElementaryTypeNameT, unsigned int> SolidityGrammar::int_size_map
Initial value:
= {
{INT8, 8}, {INT16, 16}, {INT24, 24}, {INT32, 32}, {INT40, 40},
{INT48, 48}, {INT56, 56}, {INT64, 64}, {INT72, 72}, {INT80, 80},
{INT88, 88}, {INT96, 96}, {INT104, 104}, {INT112, 112}, {INT120, 120},
{INT128, 128}, {INT136, 136}, {INT144, 144}, {INT152, 152}, {INT160, 160},
{INT168, 168}, {INT176, 176}, {INT184, 184}, {INT192, 192}, {INT200, 200},
{INT208, 208}, {INT216, 216}, {INT224, 224}, {INT232, 232}, {INT240, 240},
{INT248, 248}, {INT256, 256},
}
@ INT240
Definition solidity_grammar.h:169
@ INT32
Definition solidity_grammar.h:143
@ INT56
Definition solidity_grammar.h:146
@ INT256
Definition solidity_grammar.h:171
@ INT248
Definition solidity_grammar.h:170
@ INT64
Definition solidity_grammar.h:147
@ INT232
Definition solidity_grammar.h:168
@ INT184
Definition solidity_grammar.h:162
@ INT152
Definition solidity_grammar.h:158
@ INT160
Definition solidity_grammar.h:159
@ INT136
Definition solidity_grammar.h:156
@ INT96
Definition solidity_grammar.h:151
@ INT168
Definition solidity_grammar.h:160
@ INT216
Definition solidity_grammar.h:166
@ INT120
Definition solidity_grammar.h:154
@ INT40
Definition solidity_grammar.h:144
@ INT104
Definition solidity_grammar.h:152
@ INT176
Definition solidity_grammar.h:161
@ INT80
Definition solidity_grammar.h:149
@ INT8
Definition solidity_grammar.h:140
@ INT48
Definition solidity_grammar.h:145
@ INT16
Definition solidity_grammar.h:141
@ INT24
Definition solidity_grammar.h:142
@ INT128
Definition solidity_grammar.h:155
@ INT72
Definition solidity_grammar.h:148
@ INT112
Definition solidity_grammar.h:153
@ INT192
Definition solidity_grammar.h:163
@ INT144
Definition solidity_grammar.h:157
@ INT208
Definition solidity_grammar.h:165
@ INT200
Definition solidity_grammar.h:164
@ INT224
Definition solidity_grammar.h:167
@ INT88
Definition solidity_grammar.h:150

◆ int_string_to_type_map

const std::map<std::string, ElementaryTypeNameT> SolidityGrammar::int_string_to_type_map
Initial value:
= {
{"int8", INT8}, {"int16", INT16}, {"int24", INT24},
{"int32", INT32}, {"int40", INT40}, {"int48", INT48},
{"int56", INT56}, {"int64", INT64}, {"int72", INT72},
{"int80", INT80}, {"int88", INT88}, {"int96", INT96},
{"int104", INT104}, {"int112", INT112}, {"int120", INT120},
{"int128", INT128}, {"int136", INT136}, {"int144", INT144},
{"int152", INT152}, {"int160", INT160}, {"int168", INT168},
{"int176", INT176}, {"int184", INT184}, {"int192", INT192},
{"int200", INT200}, {"int208", INT208}, {"int216", INT216},
{"int224", INT224}, {"int232", INT232}, {"int240", INT240},
{"int248", INT248}, {"int256", INT256},
}

◆ uint_size_map

const std::unordered_map<ElementaryTypeNameT, unsigned int> SolidityGrammar::uint_size_map
Initial value:
= {
{UINT8, 8}, {UINT16, 16}, {UINT24, 24}, {UINT32, 32},
{UINT40, 40}, {UINT48, 48}, {UINT56, 56}, {UINT64, 64},
{UINT72, 72}, {UINT80, 80}, {UINT88, 88}, {UINT96, 96},
{UINT104, 104}, {UINT112, 112}, {UINT120, 120}, {UINT128, 128},
{UINT136, 136}, {UINT144, 144}, {UINT152, 152}, {UINT160, 160},
{UINT168, 168}, {UINT176, 176}, {UINT184, 184}, {UINT192, 192},
{UINT200, 200}, {UINT208, 208}, {UINT216, 216}, {UINT224, 224},
{UINT232, 232}, {UINT240, 240}, {UINT248, 248}, {UINT256, 256},
}
@ UINT144
Definition solidity_grammar.h:121
@ UINT208
Definition solidity_grammar.h:129
@ UINT240
Definition solidity_grammar.h:133
@ UINT232
Definition solidity_grammar.h:132
@ UINT104
Definition solidity_grammar.h:116
@ UINT136
Definition solidity_grammar.h:120
@ UINT72
Definition solidity_grammar.h:112
@ UINT112
Definition solidity_grammar.h:117
@ UINT8
Definition solidity_grammar.h:104
@ UINT80
Definition solidity_grammar.h:113
@ UINT48
Definition solidity_grammar.h:109
@ UINT16
Definition solidity_grammar.h:105
@ UINT96
Definition solidity_grammar.h:115
@ UINT184
Definition solidity_grammar.h:126
@ UINT224
Definition solidity_grammar.h:131
@ UINT168
Definition solidity_grammar.h:124
@ UINT24
Definition solidity_grammar.h:106
@ UINT88
Definition solidity_grammar.h:114
@ UINT120
Definition solidity_grammar.h:118
@ UINT128
Definition solidity_grammar.h:119
@ UINT192
Definition solidity_grammar.h:127
@ UINT248
Definition solidity_grammar.h:134
@ UINT256
Definition solidity_grammar.h:135
@ UINT40
Definition solidity_grammar.h:108
@ UINT56
Definition solidity_grammar.h:110
@ UINT160
Definition solidity_grammar.h:123
@ UINT176
Definition solidity_grammar.h:125
@ UINT32
Definition solidity_grammar.h:107
@ UINT200
Definition solidity_grammar.h:128
@ UINT216
Definition solidity_grammar.h:130
@ UINT152
Definition solidity_grammar.h:122
@ UINT64
Definition solidity_grammar.h:111

◆ uint_string_to_type_map

const std::unordered_map<std::string, ElementaryTypeNameT> SolidityGrammar::uint_string_to_type_map
Initial value:
= {
{"uint8", UINT8}, {"uint16", UINT16}, {"uint24", UINT24},
{"uint32", UINT32}, {"uint40", UINT40}, {"uint48", UINT48},
{"uint56", UINT56}, {"uint64", UINT64}, {"uint72", UINT72},
{"uint80", UINT80}, {"uint88", UINT88}, {"uint96", UINT96},
{"uint104", UINT104}, {"uint112", UINT112}, {"uint120", UINT120},
{"uint128", UINT128}, {"uint136", UINT136}, {"uint144", UINT144},
{"uint152", UINT152}, {"uint160", UINT160}, {"uint168", UINT168},
{"uint176", UINT176}, {"uint184", UINT184}, {"uint192", UINT192},
{"uint200", UINT200}, {"uint208", UINT208}, {"uint216", UINT216},
{"uint224", UINT224}, {"uint232", UINT232}, {"uint240", UINT240},
{"uint248", UINT248}, {"uint256", UINT256},
}