I've added more dynamic return type support for make_callexpr_return_type() method and make_pointee_type() method. Previously, it hard-coded to only find "returns (int8)". I used regex to capture the return type inside the brackets.
Polymorphism support is also added by making the symbol id of a contract's method more unique. The method's contract's name and id are included in symbol.id to avoid name clashing.
Corresponding test cases are also added.
I've added more dynamic return type support for make_callexpr_return_type() method and make_pointee_type() method. Previously, it hard-coded to only find "returns (int8)". I used regex to capture the return type inside the brackets.
Polymorphism support is also added by making the symbol id of a contract's method more unique. The method's contract's name and id are included in symbol.id to avoid name clashing. Corresponding test cases are also added.