solidity-ast
Advanced tools
Changelog
0.4.59 (2024-09-06)
'transient'
as a possible value for VariableDeclaration.storageLocation
, available since Solidity 0.8.27.'prague'
as a possible value for InlineAssembly.evmVersion
.Changelog
0.4.57 (2024-07-16)
ModifierDefinition.body
: made nullable to support Solidity 0.6.7 virtual modifiers with empty body.Changelog
0.4.58 (2024-08-29)
YulFunctionDefinition.parameters
and returnVariables
: made optional, used when empty.InlineAssembly.externalReferences[].suffix
: added 'length'
option.Changelog
0.4.54 (2023-11-23)
Literal.subdenomination
, previously typed as null
, now typed with values 'seconds'
, 'minutes'
, etc.EnumDefinition.documentation
.Changelog
0.4.53 (2023-11-10)
ForStatement.isSimpleCounterLoop
, available since Solidity 0.8.22.Changelog
0.4.52 (2023-08-24)
findAll('*', ...)
around UsingForDirective.functionList
and ImportDirective.symbolAliases
, which missed some identifiers and returned non-nodes.Changelog
0.4.50 (2023-08-19)
findAll
exhaustivity around objects in the AST that are not AST nodes. Affected queries for IdentifierPath
nodes under UsingForDirective.functionList
and for Identifier
nodes under ImportDirective.symbolAliases.foreign
.findAll
and astDereferencer
.findAll('*', node)
or dereference an unknown node type with deref('*', id)
.SourceUnit.experimentalSolidity
, available since Solidity 0.8.21.ContractDefinition.usedEvents
and ContractDefinition.internalFunctionIDs
, available since Solidity 0.8.20.StructDefinition.documentation
, available since Solidity 0.8.20.'shanghai'
as a possible value for InlineAssembly.evmVersion
.nativeSrc
to Yul AST nodes.