# Functions
CreatePragmaFromCtx creates a new Pragma from the provided pragma context.
NewAndOperationExpression creates a new AndOperation instance.
NewAssignment creates a new Assignment node with a given ASTBuilder.
NewAstBuilder creates a new ASTBuilder with the provided Solidity parser and source code.
NewBinaryOperationExpression is a constructor function that initializes a new BinaryOperation with a unique ID and the NodeType set to NodeType_BINARY_OPERATION.
NewBitAndOperationExpression creates a new BitAndOperation instance.
NewBitOrOperationExpression creates a new BitOrOperation instance.
NewBitXorOperationExpression creates a new BitXorOperation instance.
NewBodyNode creates a new BodyNode with the provided ASTBuilder.
NewBreakStatement creates a new BreakStatement instance.
NewCatchClauseStatement creates a new CatchStatement instance.
NewConditionalExpression creates a new Conditional instance.
NewConstructor creates a new Constructor instance.
NewContinueStatement creates a new instance of ContinueStatement.
NewContractDefinition creates a new instance of Contract.
NewDeclaration creates a new Declaration instance.
NewDoWhileStatement creates a new DoWhileStatement node with default values and returns it.
NewEmitStatement creates a new instance of Emit with the provided ASTBuilder.
NewEnumDefinition creates a new EnumDefinition instance.
NewErrorDefinition creates a new instance of ErrorDefinition with the provided ASTBuilder.
NewEventDefinition creates a new EventDefinition instance.
NewExpression creates a new Expression instance with the provided ASTBuilder.
NewExpressionContext creates a new ExpressionContext instance with the provided ASTBuilder.
NewExprExpression creates a new NewExpr instance with initial values.
NewExprOperationExpression creates a new ExprOperation instance.
NewFallbackDefinition creates a new Fallback node with default values and returns it.
NewForStatement creates a new ForStatement node with a given ASTBuilder.
NewFunction creates and initializes a new Function node.
NewFunctionCall creates a new FunctionCall node with a given ASTBuilder.
NewFunctionCall creates a new FunctionCallOption node with a given ASTBuilder.
NewIfStatement creates a new instance of IfStatement with the provided ASTBuilder.
NewIndexAccess creates a new IndexAccess node with a given ASTBuilder.
NewIndexRange creates a new instance of IndexRange with initialized values.
NewInlineArrayExpression creates a new InlineArray node with a given ASTBuilder.
NewInterfaceDefinition creates a new Interface node with default values and returns it.
NewLibraryDefinition creates a new Library with the provided ASTBuilder.
NewMemberAccessExpression creates a new MemberAccessExpression instance with initial values.
NewMetaTypeExpression creates a new instance of MetaType with the provided ASTBuilder.
NewModifierDefinition creates a new instance of ModifierDefinition with the provided ASTBuilder.
NewModifierInvocation creates a new instance of ModifierInvocation with the provided ASTBuilder.
NewOverrideSpecifier creates a new instance of OverrideSpecifier with the provided ASTBuilder.
NewParameter creates a new instance of Parameter with the provided ASTBuilder.
NewParameterList creates a new instance of ParameterList using the provided ASTBuilder.
NewPayableConversionExpression creates a new instance of PayableConversion using the provided ASTBuilder.
NewPrimaryExpression creates a new PrimaryExpression node with a given ASTBuilder.
NewReceiveDefinition creates a new Receive node with default values and returns it.
NewResolver creates a new Resolver with the provided ASTBuilder and initializes the UnprocessedNodes map.
NewReturnStatement creates a new instance of ReturnStatement using the provided ASTBuilder.
NewRevertStatement creates a new RevertStatement node with a given ASTBuilder.
NewRootNode creates a new RootNode with the provided ASTBuilder, entry source unit, source units, and comments.
NewShiftOperationExpression creates a new ShiftOperation instance.
NewSimpleStatement creates a new instance of SimpleStatement using the provided ASTBuilder.
NewSourceUnit creates a new SourceUnit with the provided ASTBuilder, name, and license.
NewStateVariableDeclaration creates a new StateVariableDeclaration instance.
NewStructDefinition creates a new StructDefinition instance.
NewSymbol creates a new Symbol instance with the provided attributes.
NewTree creates a new Tree with the provided ASTBuilder.
NewTryStatement creates a new TryStatement node with a given ASTBuilder.
NewTupleExpression creates a new TupleExpression instance.
NewTypedStruct creates a new v3.TypedStruct instance based on the provided protoreflect.ProtoMessage and protoType.
NewTypeName creates a new TypeName instance with the given ASTBuilder.
NewUnaryPrefixExpression creates a new UnaryPrefix instance with the given ASTBuilder.
NewUnarySuffixExpression creates a new UnarySuffix instance with the given ASTBuilder.
NewUserDefinedValueTypeDefinition creates a new UserDefinedValueTypeDefinition instance.
NewUsingDirective creates a new UsingDirective instance with the given ASTBuilder.
NewVariableDeclarationStatement creates a new instance of VariableDeclaration with the provided ASTBuilder.
NewWhileStatement creates a new WhileStatement node with a given ASTBuilder.
NewYul creates a new Yul and initializes its fields.
NewYulAssignment initializes a new instance of the YulAssignment structure.
NewYulBlockStatement creates a new YulBlockStatement instance.
NewYulBreakStatement creates a new YulBreakStatement instance.
NewYulContinueStatement creates a new YulContinueStatement instance.
NewYulExpressionStatement creates a new YulExpressionStatement instance.
NewYulForStatement creates a new YulForStatement instance.
NewYulFunctionCallStatement creates a new YulFunctionCallStatement instance.
NewYulFunctionDefinition creates a new YulFunctionDefinition instance.
NewYulIfStatement creates a new YulIfStatement with the provided AST builder.
NewYulLeaveStatement creates and initializes a new YulLeaveStatement.
NewYulLiteralStatement initializes a new YulLiteralStatement node.
NewYulStatement creates a new YulStatement node and initializes its fields.
NewYulSwitchCaseStatement creates and initializes a new YulSwitchCaseStatement.
NewYulSwitchStatement creates and initializes a new YulSwitchStatement.
NewYulVariable initializes a new YulVariable with default values.
ParseYulExpression parses a YUL expression statement.
ToNode takes a value of type T, which implements the Node interface, and returns the value along if casting was ok.
# Structs
AndOperation represents an 'and' operation in an abstract syntax tree.
Assignment represents an assignment statement in the AST.
ASTBuilder is a structure that helps in building and manipulating an Abstract Syntax Tree (AST).
BaseContract represents a base contract in a Solidity source file.
BaseContractName represents the name of a base contract in a Solidity source file.
BinaryOperation represents a binary operation in a Solidity source file.
BitAndOperation represents an 'bit and' operation in an abstract syntax tree.
BitOrOperation represents an 'bit and' operation in an abstract syntax tree.
BitXorOperation represents an 'bit and' operation in an abstract syntax tree.
BodyNode represents a body node in the abstract syntax tree.
BreakStatement represents a 'break' statement in Solidity.
The CatchStatement struct represents a 'catch' clause in a 'try-catch' statement in Solidity.
Comment represents a comment in an abstract syntax tree.
Conditional represents a conditional expression in an abstract syntax tree.
The Constructor struct represents a constructor function in a Solidity contract.
ContinueStatement represents a 'continue' statement in the abstract syntax tree.
Contract represents a Solidity contract in the abstract syntax tree.
Declaration is a struct that contains information about a variable declaration in the AST.
DoWhileStatement represents a do-while loop statement node in the abstract syntax tree (AST).
Emit represents an emit statement node in the abstract syntax tree.
EnumDefinition represents an enumeration definition in the Solidity abstract syntax tree (AST).
ErrorDefinition represents an error definition node in the abstract syntax tree.
EventDefinition represents an event definition in the Solidity abstract syntax tree (AST).
Expression represents an AST node for an expression in Solidity.
ExpressionContext represents an AST node for an expression context in Solidity.
ExprOperation represents an expression operation in the Solidity abstract syntax tree (AST).
Fallback represents a fallback function definition node in the abstract syntax tree (AST).
ForStatement represents a for loop statement in the AST.
Function represents a Solidity function definition within an abstract syntax tree.
FunctionCall represents a function call node in the AST.
FunctionCallOption represents a function call node in the AST.
IfStatement represents an if statement node in the abstract syntax tree.
Import represents an import node in the abstract syntax tree.
IndexAccess represents an index access expression in the AST.
IndexRange represents an Index Range expression in the AST.
InlineArray represents a for loop statement in the AST.
Interface represents an interface definition node in the abstract syntax tree (AST).
Library represents a library node in the abstract syntax tree.
LibraryName represents the name of an external library referenced in a using directive.
MemberAccessExpression represents a member access expression node in the AST.
MetaType represents a meta-type node in the abstract syntax tree.
ModifierDefinition represents a modifier definition node in the abstract syntax tree.
ModifierInvocation represents a modifier invocation node in the abstract syntax tree.
ModifierName represents the name of a modifier in the abstract syntax tree.
NewExpr represents a new expression node in the AST.
NodeVisitor defines a structure for visiting nodes within an AST.
OverridePath represents an override path node in the abstract syntax tree.
OverrideSpecifier represents an override specifier node in the abstract syntax tree.
Parameter represents a parameter node in the abstract syntax tree.
ParameterList represents a list of function or event parameters in the AST.
PathNode represents a path node within a TypeName.
PayableConversion represents a payable conversion expression in the AST.
Pragma represents a pragma directive in a Solidity source file.
PrimaryExpression represents a primary expression node in the AST.
Receive represents a receive function definition node in the abstract syntax tree (AST).
Resolver is a structure that helps in resolving the nodes of an Abstract Syntax Tree (AST).
ReturnStatement represents a return statement in the AST.
RevertStatement represents a revert statement in the AST.
RootNode is the root node of the AST.
ShiftOperation represents an 'bit and' operation in an abstract syntax tree.
SimpleStatement represents a simple statement in the AST.
SourceUnit represents a source unit in the abstract syntax tree.
SrcNode represents a node in the source code.
StateVariableDeclaration represents a state variable declaration in the Solidity abstract syntax tree (AST).
StructDefinition represents a struct definition in the Solidity abstract syntax tree (AST).
Symbol represents a symbol in the Solidity abstract syntax tree (AST).
Tree is a structure that represents an Abstract Syntax Tree (AST).
TryStatement represents a try-catch statement in the AST.
TupleExpression represents a tuple expression in Solidity.
TypeDescription represents a description of a type.
TypeName represents a type name used in Solidity code.
UnaryPrefix represents a unary operation applied as a prefix to an expression.
UnarySuffix represents a unary operation applied as a suffix to an expression.
UnprocessedNode is a structure that represents a node that could not be processed during the parsing of the AST.
UserDefinedValueTypeDefinition represents a user-defined value type in Solidity.
UsingDirective represents a Solidity using directive, which is used to import and use symbols from external libraries.
VariableDeclaration represents a variable declaration node in the abstract syntax tree.
WhileStatement represents a while loop statement in the AST.
Yul represents an assembly statement in a Solidity source file.
YulAssignment represents a Yul assignment structure in the AST.
YulBlockStatement represents a YUL block statement in the abstract syntax tree.
YulBreakStatement represents a YUL break statement in the abstract syntax tree.
YulContinueStatement represents a YUL continue statement in the abstract syntax tree.
YulExpressionStatement represents a YUL expression statement in the abstract syntax tree.
YulForStatement represents a YUL for statement in the abstract syntax tree.
YulFunctionCallStatement represents a YUL function call statement in the abstract syntax tree.
YulFunctionDefinition represents a YUL function definition in the abstract syntax tree.
YulIdentifier represents a YUL identifier in the abstract syntax tree.
YulIfStatement represents an if statement in the abstract syntax tree.
YulLeaveStatement represents a YUL Leave statement in the AST.
YulLiteralStatement represents a Yul literal in the AST.
YulStatement represents a statement in the Yul language.
YulSwitchCaseStatement represents an individual case statement within a Yul switch structure.
YulSwitchStatement represents a switch statement in Yul assembly.
YulVariable represents a variable declaration in Yul assembly.