override-spacing.fmt.sol 14 KB

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