Page MenuHomePhabricator

Let `ArcanistNamespaceFirstStatementXHPASTLinterRule` support `declare` statements
Needs ReviewPublic

Authored by wjiang on Aug 6 2017, 12:52 PM.
Tags
None
Referenced Files
F18883974: D18351.diff
Fri, Nov 7, 12:27 AM
F18853918: D18351.id.diff
Fri, Oct 31, 8:35 PM
F18821041: D18351.diff
Oct 22 2025, 6:42 PM
F18814598: D18351.diff
Oct 20 2025, 11:34 PM
F18778337: D18351.id44107.diff
Oct 11 2025, 9:00 AM
F18777554: D18351.diff
Oct 11 2025, 3:37 AM
F18733709: D18351.id.diff
Sep 30 2025, 10:40 PM
F18637711: D18351.diff
Sep 17 2025, 8:19 AM

Details

Reviewers
joshuaspence
Group Reviewers
Blessed Reviewers
Summary

declare statements should be put before the namespace statement. See Defining namespaces.
This improvement will be especially useful on PHP7 code where the use of declare(strict_types=1) is common.

Test Plan

Unit test

Diff Detail

Repository
rARC Arcanist
Branch
declare
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 17924
Build 24074: arc lint + arc unit

Event Timeline

Maybe the name of ArcanistNamespaceFirstStatementXHPASTLinterRule is not quite proper now ? Perhaps ArcanistNamespaceStatementPositionXHPASTLinterRule could be replacement.

wjiang retitled this revision from Let `ArcanistNamespaceFirstStatementXHPASTLinterRule` support `declare` statemnts to Let `ArcanistNamespaceFirstStatementXHPASTLinterRule` support `declare` statements.Aug 6 2017, 12:56 PM
joshuaspence added inline comments.
src/lint/linter/xhpast/rules/ArcanistNamespaceFirstStatementXHPASTLinterRule.php
9

Given that the documentation lists this an an exception, I think it's fine to leave the name as-is.