@@ -88,7 +88,20 @@ public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
88
88
if ($ found > 0 ) {
89
89
$ error = 'Expected 0 blank lines after opening function brace; %s found ' ;
90
90
$ data = array ($ found );
91
- $ phpcsFile ->addError ($ error , $ openBrace , 'SpacingAfter ' , $ data );
91
+ $ fix = $ phpcsFile ->addFixableError ($ error , $ openBrace , 'SpacingAfter ' , $ data );
92
+ if ($ fix === true && $ phpcsFile ->fixer ->enabled === true ) {
93
+ $ phpcsFile ->fixer ->beginChangeset ();
94
+ for ($ i = ($ openBrace + 1 ); $ i < $ nextContent ; $ i ++) {
95
+ if ($ tokens [$ i ]['line ' ] === $ nextLine ) {
96
+ break ;
97
+ }
98
+
99
+ $ phpcsFile ->fixer ->replaceToken ($ i , '' );
100
+ }
101
+
102
+ $ phpcsFile ->fixer ->addNewline ($ openBrace );
103
+ $ phpcsFile ->fixer ->endChangeset ();
104
+ }
92
105
}
93
106
94
107
if ($ phpcsFile ->tokenizerType === 'JS ' ) {
@@ -101,19 +114,51 @@ public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
101
114
if ($ nestedFunction === true ) {
102
115
if ($ lineDifference > 0 ) {
103
116
$ error = 'Opening brace should be on the same line as the function keyword ' ;
104
- $ phpcsFile ->addError ($ error , $ openBrace , 'SpacingAfterNested ' );
117
+ $ fix = $ phpcsFile ->addFixableError ($ error , $ openBrace , 'SpacingAfterNested ' );
118
+ if ($ fix === true && $ phpcsFile ->fixer ->enabled === true ) {
119
+ $ phpcsFile ->fixer ->beginChangeset ();
120
+ for ($ i = ($ openBrace - 1 ); $ i > $ stackPtr ; $ i --) {
121
+ if ($ tokens [$ i ]['code ' ] !== T_WHITESPACE ) {
122
+ break ;
123
+ }
124
+
125
+ $ phpcsFile ->fixer ->replaceToken ($ i , '' );
126
+ }
127
+
128
+ $ phpcsFile ->fixer ->addContentBefore ($ openBrace , ' ' );
129
+ $ phpcsFile ->fixer ->endChangeset ();
130
+ }
105
131
}
106
132
} else {
107
133
if ($ lineDifference === 0 ) {
108
134
$ error = 'Opening brace should be on a new line ' ;
109
- $ phpcsFile ->addError ($ error , $ openBrace , 'ContentBefore ' );
135
+ $ fix = $ phpcsFile ->addFixableError ($ error , $ openBrace , 'ContentBefore ' );
136
+ if ($ fix === true && $ phpcsFile ->fixer ->enabled === true ) {
137
+ $ phpcsFile ->fixer ->addNewlineBefore ($ openBrace );
138
+ }
139
+
110
140
return ;
111
141
}
112
142
113
143
if ($ lineDifference > 1 ) {
114
144
$ error = 'Opening brace should be on the line after the declaration; found %s blank line(s) ' ;
115
145
$ data = array (($ lineDifference - 1 ));
116
- $ phpcsFile ->addError ($ error , $ openBrace , 'SpacingBefore ' , $ data );
146
+ $ fix = $ phpcsFile ->addError ($ error , $ openBrace , 'SpacingBefore ' , $ data );
147
+
148
+ if ($ fix === true && $ phpcsFile ->fixer ->enabled === true ) {
149
+ $ phpcsFile ->fixer ->beginChangeset ();
150
+ for ($ i = ($ openBrace - 1 ); $ i > $ stackPtr ; $ i --) {
151
+ if ($ tokens [$ i ]['code ' ] !== T_WHITESPACE ) {
152
+ break ;
153
+ }
154
+
155
+ $ phpcsFile ->fixer ->replaceToken ($ i , '' );
156
+ }
157
+
158
+ $ phpcsFile ->fixer ->addNewlineBefore ($ openBrace );
159
+ $ phpcsFile ->fixer ->endChangeset ();
160
+ }
161
+
117
162
return ;
118
163
}
119
164
}//end if
0 commit comments