Zellic / solidity-parser

Solp is a Python library used for reading, parsing and analysis of Solidity source projects and contracts without a dependency on the solc compiler.
https://solp.zellic.io
GNU Affero General Public License v3.0
51 stars 2 forks source link

functionTypes/address_member.sol #25

Closed t81lal closed 4 months ago

t81lal commented 6 months ago

Parser: 0.8.22

Solidity 0.6.0 breaking changes introduced an "address" MEMBER (not type) for external functions. Need to add this to the symbol table and add handling for this in AST2Builder. I think I fixed issues in the past where instead of receiving an AddressType, an Ident for "address" was passed and special parsing cases had to be added to remedy this.

Remediation plan: This might have to be flagged in refine_expr/get_expr_type or the member lookup might have to check if it gets an AddressType or Ident("address") before doing the symtab lookup.