Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

graph is setting "super" calls as external #196

Open
vittominacori opened this issue May 20, 2024 · 3 comments
Open

graph is setting "super" calls as external #196

vittominacori opened this issue May 20, 2024 · 3 comments

Comments

@vittominacori
Copy link
Contributor

I noticed that calls to super methods, are referred as external in graph as explained in Legend.
Is external in legend referred to solidity "external" methods or it refers to methods that are not into the contract itself?

If method is called only by name, instead, it is represented as internal but link to a method that seems to be inside the contract instead of referring the inherited one.

To reproduce check that contract.

abstract contract Inherited {
    function _print() internal pure returns(string memory str) {
        str = 'Returned from Inherited';
    }
}
  1. User super to call _print.
contract Derived is Inherited {
    function print() public pure returns(string memory str) {
        str = super._print();
    }
}

Example

  1. Use the method name.
contract Derived is Inherited {
    function print() public pure returns(string memory str) {
        str = _print();
    }
}

Example2

@vittominacori
Copy link
Contributor Author

@GNSPS have you had a chance to check that issue? If it is.

@vittominacori
Copy link
Contributor Author

No updates?

@vittominacori
Copy link
Contributor Author

Is this repository still maintained?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant