Page MenuHomePhabricator

Add a linter rule for `parent` references
ClosedPublic

Authored by joshuaspence on Nov 9 2015, 12:59 AM.
Tags
None
Referenced Files
F15420718: D14443.id.diff
Fri, Mar 21, 4:17 PM
F15420104: D14443.id35027.diff
Fri, Mar 21, 11:24 AM
F15419662: D14443.id35027.diff
Fri, Mar 21, 7:49 AM
F15419277: D14443.id35053.diff
Fri, Mar 21, 4:58 AM
F15418089: D14443.diff
Thu, Mar 20, 8:49 PM
F15407373: D14443.diff
Tue, Mar 18, 5:17 PM
F15389724: D14443.id35053.diff
Sat, Mar 15, 5:35 AM
F15369880: D14443.id35027.diff
Wed, Mar 12, 8:34 AM
Subscribers

Details

Summary

Add a linter rule to detect static method calls which should reference the parent class instead of a hardcoded class reference. For example, consider the following:

class SomeClass extends AnotherClass {
  public function someMethod() {
    AnotherClass::someOtherMethod();
  }
}

This should instead be written as:

class SomeClass extends AnotherClass {
  public function someMethod() {
    parent::someOtherMethod();
  }
}
Test Plan

Added unit tests.

Diff Detail

Repository
rARC Arcanist
Branch
master
Lint
Lint Passed
Unit
Test Failures
Build Status
Buildable 8817
Build 10286: Run Core Tests
Build 10285: arc lint + arc unit

Event Timeline

joshuaspence retitled this revision from to Add a linter rule for `parent` references.
joshuaspence updated this object.
joshuaspence edited the test plan for this revision. (Show Details)
joshuaspence edited the test plan for this revision. (Show Details)
epriestley added a reviewer: epriestley.
epriestley added inline comments.
src/lint/linter/xhpast/rules/ArcanistParentMemberReferenceXHPASTLinterRule.php
63

Extra period in human-readable message.

This revision is now accepted and ready to land.Nov 15 2015, 4:52 PM
joshuaspence edited edge metadata.

Fix lint message

This revision was automatically updated to reflect the committed changes.