all.fmt.sol 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730
  1. // config: line_length = 60
  2. // config: multiline_func_header = "all"
  3. interface FunctionInterfaces {
  4. function noParamsNoModifiersNoReturns();
  5. function oneParam(uint256 x);
  6. function oneModifier() modifier1;
  7. function oneReturn() returns (uint256 y1);
  8. // function prefix
  9. function withComments( // function name postfix
  10. // x1 prefix
  11. uint256 x1, // x1 postfix
  12. // x2 prefix
  13. uint256 x2, // x2 postfix
  14. // x2 postfix2
  15. /*
  16. multi-line x3 prefix
  17. */
  18. uint256 x3 // x3 postfix
  19. )
  20. // public prefix
  21. public // public postfix
  22. // pure prefix
  23. pure // pure postfix
  24. // modifier1 prefix
  25. modifier1 // modifier1 postfix
  26. // modifier2 prefix
  27. modifier2 /*
  28. mutliline modifier2 postfix
  29. */
  30. // modifier3 prefix
  31. modifier3 // modifier3 postfix
  32. returns (
  33. // y1 prefix
  34. uint256 y1, // y1 postfix
  35. // y2 prefix
  36. uint256 y2, // y2 postfix
  37. // y3 prefix
  38. uint256 y3
  39. ); // y3 postfix
  40. // function postfix
  41. /*//////////////////////////////////////////////////////////////////////////
  42. TEST
  43. //////////////////////////////////////////////////////////////////////////*/
  44. function manyParams(
  45. uint256 x1,
  46. uint256 x2,
  47. uint256 x3,
  48. uint256 x4,
  49. uint256 x5,
  50. uint256 x6,
  51. uint256 x7,
  52. uint256 x8,
  53. uint256 x9,
  54. uint256 x10
  55. );
  56. function manyModifiers()
  57. modifier1
  58. modifier2
  59. modifier3
  60. modifier4
  61. modifier5
  62. modifier6
  63. modifier7
  64. modifier8
  65. modifier9
  66. modifier10;
  67. function manyReturns()
  68. returns (
  69. uint256 y1,
  70. uint256 y2,
  71. uint256 y3,
  72. uint256 y4,
  73. uint256 y5,
  74. uint256 y6,
  75. uint256 y7,
  76. uint256 y8,
  77. uint256 y9,
  78. uint256 y10
  79. );
  80. function someParamsSomeModifiers(
  81. uint256 x1,
  82. uint256 x2,
  83. uint256 x3
  84. )
  85. modifier1
  86. modifier2
  87. modifier3;
  88. function someParamsSomeReturns(
  89. uint256 x1,
  90. uint256 x2,
  91. uint256 x3
  92. )
  93. returns (uint256 y1, uint256 y2, uint256 y3);
  94. function someModifiersSomeReturns()
  95. modifier1
  96. modifier2
  97. modifier3
  98. returns (uint256 y1, uint256 y2, uint256 y3);
  99. function someParamSomeModifiersSomeReturns(
  100. uint256 x1,
  101. uint256 x2,
  102. uint256 x3
  103. )
  104. modifier1
  105. modifier2
  106. modifier3
  107. returns (uint256 y1, uint256 y2, uint256 y3);
  108. function someParamsManyModifiers(
  109. uint256 x1,
  110. uint256 x2,
  111. uint256 x3
  112. )
  113. modifier1
  114. modifier2
  115. modifier3
  116. modifier4
  117. modifier5
  118. modifier6
  119. modifier7
  120. modifier8
  121. modifier9
  122. modifier10;
  123. function someParamsManyReturns(
  124. uint256 x1,
  125. uint256 x2,
  126. uint256 x3
  127. )
  128. returns (
  129. uint256 y1,
  130. uint256 y2,
  131. uint256 y3,
  132. uint256 y4,
  133. uint256 y5,
  134. uint256 y6,
  135. uint256 y7,
  136. uint256 y8,
  137. uint256 y9,
  138. uint256 y10
  139. );
  140. function manyParamsSomeModifiers(
  141. uint256 x1,
  142. uint256 x2,
  143. uint256 x3,
  144. uint256 x4,
  145. uint256 x5,
  146. uint256 x6,
  147. uint256 x7,
  148. uint256 x8,
  149. uint256 x9,
  150. uint256 x10
  151. )
  152. modifier1
  153. modifier2
  154. modifier3;
  155. function manyParamsSomeReturns(
  156. uint256 x1,
  157. uint256 x2,
  158. uint256 x3,
  159. uint256 x4,
  160. uint256 x5,
  161. uint256 x6,
  162. uint256 x7,
  163. uint256 x8,
  164. uint256 x9,
  165. uint256 x10
  166. )
  167. returns (uint256 y1, uint256 y2, uint256 y3);
  168. function manyParamsManyModifiers(
  169. uint256 x1,
  170. uint256 x2,
  171. uint256 x3,
  172. uint256 x4,
  173. uint256 x5,
  174. uint256 x6,
  175. uint256 x7,
  176. uint256 x8,
  177. uint256 x9,
  178. uint256 x10
  179. )
  180. modifier1
  181. modifier2
  182. modifier3
  183. modifier4
  184. modifier5
  185. modifier6
  186. modifier7
  187. modifier8
  188. modifier9
  189. modifier10;
  190. function manyParamsManyReturns(
  191. uint256 x1,
  192. uint256 x2,
  193. uint256 x3,
  194. uint256 x4,
  195. uint256 x5,
  196. uint256 x6,
  197. uint256 x7,
  198. uint256 x8,
  199. uint256 x9,
  200. uint256 x10
  201. )
  202. returns (
  203. uint256 y1,
  204. uint256 y2,
  205. uint256 y3,
  206. uint256 y4,
  207. uint256 y5,
  208. uint256 y6,
  209. uint256 y7,
  210. uint256 y8,
  211. uint256 y9,
  212. uint256 y10
  213. );
  214. function manyParamsManyModifiersManyReturns(
  215. uint256 x1,
  216. uint256 x2,
  217. uint256 x3,
  218. uint256 x4,
  219. uint256 x5,
  220. uint256 x6,
  221. uint256 x7,
  222. uint256 x8,
  223. uint256 x9,
  224. uint256 x10
  225. )
  226. modifier1
  227. modifier2
  228. modifier3
  229. modifier4
  230. modifier5
  231. modifier6
  232. modifier7
  233. modifier8
  234. modifier9
  235. modifier10
  236. returns (
  237. uint256 y1,
  238. uint256 y2,
  239. uint256 y3,
  240. uint256 y4,
  241. uint256 y5,
  242. uint256 y6,
  243. uint256 y7,
  244. uint256 y8,
  245. uint256 y9,
  246. uint256 y10
  247. );
  248. function modifierOrderCorrect01()
  249. public
  250. view
  251. virtual
  252. override
  253. modifier1
  254. modifier2
  255. returns (uint256);
  256. function modifierOrderCorrect02()
  257. private
  258. pure
  259. virtual
  260. modifier1
  261. modifier2
  262. returns (string);
  263. function modifierOrderCorrect03()
  264. external
  265. payable
  266. override
  267. modifier1
  268. modifier2
  269. returns (address);
  270. function modifierOrderCorrect04()
  271. internal
  272. virtual
  273. override
  274. modifier1
  275. modifier2
  276. returns (uint256);
  277. function modifierOrderIncorrect01()
  278. public
  279. view
  280. virtual
  281. override
  282. modifier1
  283. modifier2
  284. returns (uint256);
  285. function modifierOrderIncorrect02()
  286. external
  287. virtual
  288. override
  289. modifier1
  290. modifier2
  291. returns (uint256);
  292. function modifierOrderIncorrect03()
  293. internal
  294. pure
  295. virtual
  296. modifier1
  297. modifier2
  298. returns (uint256);
  299. function modifierOrderIncorrect04()
  300. external
  301. payable
  302. override
  303. modifier1
  304. modifier2
  305. returns (uint256);
  306. }
  307. contract FunctionDefinitions {
  308. function() external {}
  309. fallback() external {}
  310. function() external payable {}
  311. fallback() external payable {}
  312. receive() external payable {}
  313. function noParamsNoModifiersNoReturns() {
  314. a = 1;
  315. }
  316. function oneParam(uint256 x) {
  317. a = 1;
  318. }
  319. function oneModifier() modifier1 {
  320. a = 1;
  321. }
  322. function oneReturn() returns (uint256 y1) {
  323. a = 1;
  324. }
  325. function manyParams(
  326. uint256 x1,
  327. uint256 x2,
  328. uint256 x3,
  329. uint256 x4,
  330. uint256 x5,
  331. uint256 x6,
  332. uint256 x7,
  333. uint256 x8,
  334. uint256 x9,
  335. uint256 x10
  336. ) {
  337. a = 1;
  338. }
  339. function manyModifiers()
  340. modifier1
  341. modifier2
  342. modifier3
  343. modifier4
  344. modifier5
  345. modifier6
  346. modifier7
  347. modifier8
  348. modifier9
  349. modifier10
  350. {
  351. a = 1;
  352. }
  353. function manyReturns()
  354. returns (
  355. uint256 y1,
  356. uint256 y2,
  357. uint256 y3,
  358. uint256 y4,
  359. uint256 y5,
  360. uint256 y6,
  361. uint256 y7,
  362. uint256 y8,
  363. uint256 y9,
  364. uint256 y10
  365. )
  366. {
  367. a = 1;
  368. }
  369. function someParamsSomeModifiers(
  370. uint256 x1,
  371. uint256 x2,
  372. uint256 x3
  373. )
  374. modifier1
  375. modifier2
  376. modifier3
  377. {
  378. a = 1;
  379. }
  380. function someParamsSomeReturns(
  381. uint256 x1,
  382. uint256 x2,
  383. uint256 x3
  384. )
  385. returns (uint256 y1, uint256 y2, uint256 y3)
  386. {
  387. a = 1;
  388. }
  389. function someModifiersSomeReturns()
  390. modifier1
  391. modifier2
  392. modifier3
  393. returns (uint256 y1, uint256 y2, uint256 y3)
  394. {
  395. a = 1;
  396. }
  397. function someParamSomeModifiersSomeReturns(
  398. uint256 x1,
  399. uint256 x2,
  400. uint256 x3
  401. )
  402. modifier1
  403. modifier2
  404. modifier3
  405. returns (uint256 y1, uint256 y2, uint256 y3)
  406. {
  407. a = 1;
  408. }
  409. function someParamsManyModifiers(
  410. uint256 x1,
  411. uint256 x2,
  412. uint256 x3
  413. )
  414. modifier1
  415. modifier2
  416. modifier3
  417. modifier4
  418. modifier5
  419. modifier6
  420. modifier7
  421. modifier8
  422. modifier9
  423. modifier10
  424. {
  425. a = 1;
  426. }
  427. function someParamsManyReturns(
  428. uint256 x1,
  429. uint256 x2,
  430. uint256 x3
  431. )
  432. returns (
  433. uint256 y1,
  434. uint256 y2,
  435. uint256 y3,
  436. uint256 y4,
  437. uint256 y5,
  438. uint256 y6,
  439. uint256 y7,
  440. uint256 y8,
  441. uint256 y9,
  442. uint256 y10
  443. )
  444. {
  445. a = 1;
  446. }
  447. function manyParamsSomeModifiers(
  448. uint256 x1,
  449. uint256 x2,
  450. uint256 x3,
  451. uint256 x4,
  452. uint256 x5,
  453. uint256 x6,
  454. uint256 x7,
  455. uint256 x8,
  456. uint256 x9,
  457. uint256 x10
  458. )
  459. modifier1
  460. modifier2
  461. modifier3
  462. {
  463. a = 1;
  464. }
  465. function manyParamsSomeReturns(
  466. uint256 x1,
  467. uint256 x2,
  468. uint256 x3,
  469. uint256 x4,
  470. uint256 x5,
  471. uint256 x6,
  472. uint256 x7,
  473. uint256 x8,
  474. uint256 x9,
  475. uint256 x10
  476. )
  477. returns (uint256 y1, uint256 y2, uint256 y3)
  478. {
  479. a = 1;
  480. }
  481. function manyParamsManyModifiers(
  482. uint256 x1,
  483. uint256 x2,
  484. uint256 x3,
  485. uint256 x4,
  486. uint256 x5,
  487. uint256 x6,
  488. uint256 x7,
  489. uint256 x8,
  490. uint256 x9,
  491. uint256 x10
  492. )
  493. public
  494. modifier1
  495. modifier2
  496. modifier3
  497. modifier4
  498. modifier5
  499. modifier6
  500. modifier7
  501. modifier8
  502. modifier9
  503. modifier10
  504. {
  505. a = 1;
  506. }
  507. function manyParamsManyReturns(
  508. uint256 x1,
  509. uint256 x2,
  510. uint256 x3,
  511. uint256 x4,
  512. uint256 x5,
  513. uint256 x6,
  514. uint256 x7,
  515. uint256 x8,
  516. uint256 x9,
  517. uint256 x10
  518. )
  519. returns (
  520. uint256 y1,
  521. uint256 y2,
  522. uint256 y3,
  523. uint256 y4,
  524. uint256 y5,
  525. uint256 y6,
  526. uint256 y7,
  527. uint256 y8,
  528. uint256 y9,
  529. uint256 y10
  530. )
  531. {
  532. a = 1;
  533. }
  534. function manyParamsManyModifiersManyReturns(
  535. uint256 x1,
  536. uint256 x2,
  537. uint256 x3,
  538. uint256 x4,
  539. uint256 x5,
  540. uint256 x6,
  541. uint256 x7,
  542. uint256 x8,
  543. uint256 x9,
  544. uint256 x10
  545. )
  546. modifier1
  547. modifier2
  548. modifier3
  549. modifier4
  550. modifier5
  551. modifier6
  552. modifier7
  553. modifier8
  554. modifier9
  555. modifier10
  556. returns (
  557. uint256 y1,
  558. uint256 y2,
  559. uint256 y3,
  560. uint256 y4,
  561. uint256 y5,
  562. uint256 y6,
  563. uint256 y7,
  564. uint256 y8,
  565. uint256 y9,
  566. uint256 y10
  567. )
  568. {
  569. a = 1;
  570. }
  571. function modifierOrderCorrect01()
  572. public
  573. view
  574. virtual
  575. override
  576. modifier1
  577. modifier2
  578. returns (uint256)
  579. {
  580. a = 1;
  581. }
  582. function modifierOrderCorrect02()
  583. private
  584. pure
  585. virtual
  586. modifier1
  587. modifier2
  588. returns (string)
  589. {
  590. a = 1;
  591. }
  592. function modifierOrderCorrect03()
  593. external
  594. payable
  595. override
  596. modifier1
  597. modifier2
  598. returns (address)
  599. {
  600. a = 1;
  601. }
  602. function modifierOrderCorrect04()
  603. internal
  604. virtual
  605. override
  606. modifier1
  607. modifier2
  608. returns (uint256)
  609. {
  610. a = 1;
  611. }
  612. function modifierOrderIncorrect01()
  613. public
  614. view
  615. virtual
  616. override
  617. modifier1
  618. modifier2
  619. returns (uint256)
  620. {
  621. a = 1;
  622. }
  623. function modifierOrderIncorrect02()
  624. external
  625. virtual
  626. override
  627. modifier1
  628. modifier2
  629. returns (uint256)
  630. {
  631. a = 1;
  632. }
  633. function modifierOrderIncorrect03()
  634. internal
  635. pure
  636. virtual
  637. modifier1
  638. modifier2
  639. returns (uint256)
  640. {
  641. a = 1;
  642. }
  643. function modifierOrderIncorrect04()
  644. external
  645. payable
  646. override
  647. modifier1
  648. modifier2
  649. returns (uint256)
  650. {
  651. a = 1;
  652. }
  653. fallback() external payable virtual {}
  654. receive() external payable virtual {}
  655. }
  656. contract FunctionOverrides is
  657. FunctionInterfaces,
  658. FunctionDefinitions
  659. {
  660. function noParamsNoModifiersNoReturns() override {
  661. a = 1;
  662. }
  663. function oneParam(uint256 x)
  664. override(
  665. FunctionInterfaces,
  666. FunctionDefinitions,
  667. SomeOtherFunctionContract,
  668. SomeImport.AndAnotherFunctionContract
  669. )
  670. {
  671. a = 1;
  672. }
  673. }