inline_assembly_external_functions.sol 414 B

12345678910111213141516
  1. contract foo {
  2. function sum(uint64 a, uint64 b) public pure returns (uint64) {
  3. return a + b;
  4. }
  5. function bar() public view {
  6. function (uint64, uint64) external returns (uint64) fPtr = this.sum;
  7. assembly {
  8. // 'a' contains 'sum' selector
  9. let a := fPtr.selector
  10. // 'b' contains 'sum' address
  11. let b := fPtr.address
  12. }
  13. }
  14. }