Skip to content

Commit 3fc0267

Browse files
authored
chore(lint): use solar's built-in code suggestions (#11919)
1 parent 380b0df commit 3fc0267

14 files changed

+775
-676
lines changed

crates/forge/tests/cli/lint.rs

Lines changed: 100 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ note[mixed-case-function]: function names should use mixedCase
156156
[FILE]:9:14
157157
|
158158
9 | function functionMIXEDCaseInfo() public {}
159-
| ^^^^^^^^^^^^^^^^^^^^^
159+
| ^^^^^^^^^^^^^^^^^^^^^ help: consider using: `functionMixedCaseInfo`
160160
|
161161
= help: https://book.getfoundry.sh/reference/forge/forge-lint#mixed-case-function
162162
@@ -214,7 +214,7 @@ note[mixed-case-function]: function names should use mixedCase
214214
[FILE]:9:14
215215
|
216216
9 | function functionMIXEDCaseInfo() public {}
217-
| ^^^^^^^^^^^^^^^^^^^^^
217+
| ^^^^^^^^^^^^^^^^^^^^^ help: consider using: `functionMixedCaseInfo`
218218
|
219219
= help: https://book.getfoundry.sh/reference/forge/forge-lint#mixed-case-function
220220
@@ -497,7 +497,7 @@ note[mixed-case-variable]: mutable variables should use mixedCase
497497
[FILE]:6:20
498498
|
499499
6 | uint256 public CounterB_Fail_Lint;
500-
| ^^^^^^^^^^^^^^^^^^
500+
| ^^^^^^^^^^^^^^^^^^ help: consider using: `counterBFailLint`
501501
|
502502
= help: https://book.getfoundry.sh/reference/forge/forge-lint#mixed-case-variable
503503
@@ -556,53 +556,113 @@ forgetest!(lint_json_output_no_ansi_escape_codes, |prj, cmd| {
556556
cmd.arg("lint").arg("--json").assert_json_stderr(true,
557557
str![[r#"
558558
{
559-
"$message_type": "diagnostic",
560-
"message": "wrap modifier logic to reduce code size",
561-
"code": {
559+
"$message_type": "diagnostic",
560+
"message": "wrap modifier logic to reduce code size",
561+
"code": {
562562
"code": "unwrapped-modifier-logic",
563563
"explanation": null
564-
},
565-
"level": "note",
566-
"spans": [
564+
},
565+
"level": "note",
566+
"spans": [
567567
{
568-
"file_name": "src/UnwrappedModifierTest.sol",
569-
"byte_start": 183,
570-
"byte_end": 192,
571-
"line_start": 8,
572-
"line_end": 8,
573-
"column_start": 22,
574-
"column_end": 31,
575-
"is_primary": true,
576-
"text": [
568+
"file_name": "src/UnwrappedModifierTest.sol",
569+
"byte_start": 174,
570+
"byte_end": 355,
571+
"line_start": 8,
572+
"line_end": 12,
573+
"column_start": 13,
574+
"column_end": 14,
575+
"is_primary": true,
576+
"text": [
577+
{
578+
"text": " modifier onlyOwner() {",
579+
"highlight_start": 13,
580+
"highlight_end": 35
581+
},
582+
{
583+
"text": " require(isOwner[msg.sender], \"Not owner\");",
584+
"highlight_start": 1,
585+
"highlight_end": 59
586+
},
587+
{
588+
"text": " require(msg.sender != address(0), \"Zero address\");",
589+
"highlight_start": 1,
590+
"highlight_end": 67
591+
},
577592
{
578-
"text": " modifier onlyOwner() {",
579-
"highlight_start": 22,
580-
"highlight_end": 31
593+
"text": " _;",
594+
"highlight_start": 1,
595+
"highlight_end": 19
596+
},
597+
{
598+
"text": " }",
599+
"highlight_start": 1,
600+
"highlight_end": 14
581601
}
582-
],
583-
"label": null,
584-
"suggested_replacement": null
602+
],
603+
"label": null,
604+
"suggested_replacement": null
585605
}
586-
],
587-
"children": [
606+
],
607+
"children": [
588608
{
589-
"message": "wrap modifier logic to reduce code size\n\n- modifier onlyOwner() {\n- require(isOwner[msg.sender], \"Not owner\");\n- require(msg.sender != address(0), \"Zero address\");\n- _;\n- }\n+ modifier onlyOwner() {\n+ _onlyOwner();\n+ _;\n+ }\n+ \n+ function _onlyOwner() internal {\n+ require(isOwner[msg.sender], \"Not owner\");\n+ require(msg.sender != address(0), \"Zero address\");\n+ }\n\n",
590-
"code": null,
591-
"level": "note",
592-
"spans": [],
593-
"children": [],
594-
"rendered": null
609+
"message": "https://book.getfoundry.sh/reference/forge/forge-lint#unwrapped-modifier-logic",
610+
"code": null,
611+
"level": "help",
612+
"spans": [],
613+
"children": [],
614+
"rendered": null
595615
},
596616
{
597-
"message": "https://book.getfoundry.sh/reference/forge/forge-lint#unwrapped-modifier-logic",
598-
"code": null,
599-
"level": "help",
600-
"spans": [],
601-
"children": [],
602-
"rendered": null
617+
"message": "wrap modifier logic to reduce code size",
618+
"code": null,
619+
"level": "help",
620+
"spans": [
621+
{
622+
"file_name": "src/UnwrappedModifierTest.sol",
623+
"byte_start": 174,
624+
"byte_end": 355,
625+
"line_start": 8,
626+
"line_end": 12,
627+
"column_start": 13,
628+
"column_end": 14,
629+
"is_primary": true,
630+
"text": [
631+
{
632+
"text": " modifier onlyOwner() {",
633+
"highlight_start": 13,
634+
"highlight_end": 35
635+
},
636+
{
637+
"text": " require(isOwner[msg.sender], \"Not owner\");",
638+
"highlight_start": 1,
639+
"highlight_end": 59
640+
},
641+
{
642+
"text": " require(msg.sender != address(0), \"Zero address\");",
643+
"highlight_start": 1,
644+
"highlight_end": 67
645+
},
646+
{
647+
"text": " _;",
648+
"highlight_start": 1,
649+
"highlight_end": 19
650+
},
651+
{
652+
"text": " }",
653+
"highlight_start": 1,
654+
"highlight_end": 14
655+
}
656+
],
657+
"label": null,
658+
"suggested_replacement": "modifier onlyOwner() {\n _onlyOwner();\n _;\n }\n\n function _onlyOwner() internal {\n require(isOwner[msg.sender], \"Not owner\");\n require(msg.sender != address(0), \"Zero address\");\n }"
659+
}
660+
],
661+
"children": [],
662+
"rendered": null
603663
}
604-
],
605-
"rendered": "note[unwrapped-modifier-logic]: wrap modifier logic to reduce code size\n |\n8 | modifier onlyOwner() {\n |\n = note: wrap modifier logic to reduce code size\n \n - modifier onlyOwner() {\n - require(isOwner[msg.sender], \"Not owner\");\n - require(msg.sender != address(0), \"Zero address\");\n - _;\n - }\n + modifier onlyOwner() {\n + _onlyOwner();\n + _;\n + }\n + \n + function _onlyOwner() internal {\n + require(isOwner[msg.sender], \"Not owner\");\n + require(msg.sender != address(0), \"Zero address\");\n + }\n \n = help: https://book.getfoundry.sh/reference/forge/forge-lint#unwrapped-modifier-logic\n\n --> [..]\n | ^^^^^^^^^\n \n"
664+
],
665+
"rendered": "note[unwrapped-modifier-logic]: wrap modifier logic to reduce code size\n\n --> src/UnwrappedModifierTest.sol:8:13\n |\n 8 | / modifier onlyOwner() {\n 9 | | require(isOwner[msg.sender], \"Not owner\");\n10 | | require(msg.sender != address(0), \"Zero address\");\n11 | | _;\n12 | | }\n | |_____________^\n |\nhelp: wrap modifier logic to reduce code size\n |\n 8 ~ modifier onlyOwner() {\n 9 + _onlyOwner();\n10 + _;\n11 + }\n12 + \n13 + function _onlyOwner() internal {\n14 + require(isOwner[msg.sender], \"Not owner\");\n15 + require(msg.sender != address(0), \"Zero address\");\n16 + }\n |\n = help: https://book.getfoundry.sh/reference/forge/forge-lint#unwrapped-modifier-logic\n"
606666
}
607667
"#]],
608668
);

0 commit comments

Comments
 (0)