Merge pull request #1896 from crytic/dev-parse-assembly-modifier

Parse assembly in modifier
pull/1915/head
Feist Josselin 2 years ago committed by GitHub
commit fa2def906c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      slither/solc_parsing/declarations/modifier.py
  2. 9
      tests/e2e/solc_parsing/test_data/assembly-all.sol
  3. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.0-legacy.zip
  4. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.1-legacy.zip
  5. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.10-legacy.zip
  6. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.11-legacy.zip
  7. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.12-compact.zip
  8. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.12-legacy.zip
  9. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.13-compact.zip
  10. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.13-legacy.zip
  11. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.14-compact.zip
  12. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.14-legacy.zip
  13. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.15-compact.zip
  14. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.15-legacy.zip
  15. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.16-compact.zip
  16. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.16-legacy.zip
  17. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.17-compact.zip
  18. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.17-legacy.zip
  19. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.18-compact.zip
  20. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.18-legacy.zip
  21. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.19-compact.zip
  22. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.19-legacy.zip
  23. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.2-legacy.zip
  24. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.20-compact.zip
  25. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.20-legacy.zip
  26. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.21-compact.zip
  27. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.21-legacy.zip
  28. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.22-compact.zip
  29. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.22-legacy.zip
  30. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.23-compact.zip
  31. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.23-legacy.zip
  32. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.24-compact.zip
  33. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.24-legacy.zip
  34. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.25-compact.zip
  35. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.25-legacy.zip
  36. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.26-compact.zip
  37. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.26-legacy.zip
  38. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.3-legacy.zip
  39. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.4-legacy.zip
  40. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.5-legacy.zip
  41. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.6-legacy.zip
  42. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.7-legacy.zip
  43. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.8-legacy.zip
  44. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.9-legacy.zip
  45. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.0-compact.zip
  46. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.0-legacy.zip
  47. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.1-compact.zip
  48. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.1-legacy.zip
  49. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.10-compact.zip
  50. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.10-legacy.zip
  51. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.11-compact.zip
  52. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.11-legacy.zip
  53. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.12-compact.zip
  54. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.12-legacy.zip
  55. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.13-compact.zip
  56. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.13-legacy.zip
  57. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.14-compact.zip
  58. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.14-legacy.zip
  59. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.15-compact.zip
  60. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.15-legacy.zip
  61. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.16-compact.zip
  62. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.16-legacy.zip
  63. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.17-compact.zip
  64. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.17-legacy.zip
  65. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.2-compact.zip
  66. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.2-legacy.zip
  67. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.3-compact.zip
  68. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.3-legacy.zip
  69. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.4-compact.zip
  70. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.4-legacy.zip
  71. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.5-compact.zip
  72. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.5-legacy.zip
  73. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.6-compact.zip
  74. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.6-legacy.zip
  75. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.7-compact.zip
  76. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.7-legacy.zip
  77. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.8-compact.zip
  78. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.8-legacy.zip
  79. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.9-compact.zip
  80. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.9-legacy.zip
  81. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.0-compact.zip
  82. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.0-legacy.zip
  83. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.1-compact.zip
  84. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.1-legacy.zip
  85. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.10-compact.zip
  86. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.10-legacy.zip
  87. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.11-compact.zip
  88. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.11-legacy.zip
  89. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.12-compact.zip
  90. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.12-legacy.zip
  91. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.2-compact.zip
  92. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.2-legacy.zip
  93. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.3-compact.zip
  94. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.3-legacy.zip
  95. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.4-compact.zip
  96. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.4-legacy.zip
  97. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.5-compact.zip
  98. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.5-legacy.zip
  99. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.6-compact.zip
  100. BIN
      tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.6-legacy.zip
  101. Some files were not shown because too many files have changed in this diff Show More

@ -87,6 +87,9 @@ class ModifierSolc(FunctionSolc):
for node in self._node_to_nodesolc.values():
node.analyze_expressions(self)
for yul_parser in self._node_to_yulobject.values():
yul_parser.analyze_expressions()
self._rewrite_ternary_as_if_else()
self._remove_alone_endif()

@ -1,5 +1,12 @@
contract C {
function f() public {
modifier a() {
assembly {
let y := 0
}
_;
}
function f() public a {
assembly {
let x := 0
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save